Laravel 11 引入 Dumpable Trait
虽然从技术上讲 Dumpable trait 是 Laravel 11 新增的,我想说的是,它将 dump() 和 dd() 的思想整合为一个可重用的 trait,这样类就不必单独手动实现。应用开发人员和包作者也可以从这种新的 /support trait 中受益,以便在可链接类中轻松添加调试方法。在 Laravel 10 中,我们已经很喜欢能够将...
在 Filament 中处理批量导入
每个应用都处理一定规模的数据。无论数据是 GitHub 仓库中的几个 markdown 文件,还是数万亿字节数据库系统中的数百万行,每天与我们的应用交互的用户都是为了查看和操作这些数据。当应用规模较小且(通常)相对较新时,数据输入看起来与 Filament 中表单的工作方式非常相似。如果要向系统中添加新数据,请转到相关表单,填写字段,然后提交。如果你想添加更...
Laravel 项目中使用 Model shouldBeStrict
你有了一个全新应用的想法。你安装了 Laravel,就可以开始了。你应该做的第一件事是什么?对我来说,我会打开应用的服务提供者,转到 boot 方法并设置全局 Model::shouldBeStrict():public function boot(): void { Model::shouldBeStrict(); }将其打开后,它做了如下这些事:...
Laravel 11:将模型强制转换(casts)移到方法中
Laravel 10 中的模型强制转换(Model casts)是通过 $casts 数组属性定义的。而在 Laravel 11 中,你可以定义 casts()方法,这就打开了在内置 caster 中的静态方法、以及为自定义 casters 定义静态方法的可能:use App\Enums\UserOption; use Illuminate\Databas...
[Laravel 扩展包]在 Laravel 中使用 Blade 视图生成 PDF
由 Spatie 提供的 Laravel PDF 包,提供了一个在 Laravel 中创建 PDF 的简单方式。它使用 Blade 视图渲染 HTML 并且使用 Browsershot 从视图中创建 PDF。这使其可以使用现代 CSS 工具(如 Grid、Flexbox)、现代 CSS 框架(如 Tailwind),甚至可以使用 JavaScript 代码(...
设计模式之责任链(Chain of Responsibility)模式
责任链(Chain of Responsibility )模式是一种行为设计模式,允许沿着处理程序链传递请求。收到请求后,每个处理程序决定处理该请求或将其传递给链中的下一个处理程序。问题描述假设你正在开发一个在线订单系统。您希望限制对系统的访问,以便只有经过身份验证的用户才能创建订单。此外,具有...
Tailwind CSS v3.4 支持动态视口单位(dvh,lvh,svh)、支持 :has()、支持子网格等功能。
Tailwind v3.4 已发布,支持动态 viewport 单位、支持 :has()、子网格等!在最近的发布公告中,Adam Wathan 提到许多与构建新的 Catalyst UI 套件直接相关的功能:
DevDB - 在 VS Code 内访问数据库!
DevDb 是一个轻量级 VS Code 扩展,提供了数据库 GUI 客户端,并且在编辑器中直接显示数据以及 Schema 详情:该软件包支持 SQLite、MySQL 和 PostgreSQL,带有零配置选项,使得该扩展可以自动检测使用的数据库。零配置选项很有用,因为你可以通过项目的 .env 文件配置数据库,而且 DevDb 自动知晓如何连接...
设计模式之工厂方法(Factory Method)
工厂方法是一种创建型设计模式,它为在超类中创建对象提供了一个接口,但允许子类更改将要创建的对象的类型。问题描述想象一下,你正在创建一个物流管理应用。你的应用程序的第一个版本只能处理卡车运输,所以你的大部分代码都在卡车类(Truck)中。过了一段时间,你的应用程序变得非常受欢迎。每天,您都会收到数十个来自海运公司的请求,要求将海运物流纳入...
Filament v3.2 介绍
Filament v3.2 已经发布了!这个版本包含了一系列非常令人兴奋的更新,所以让我们直接进入并看看吧!和往常一样,如果你喜欢直接在 Github 上阅读有关更改的信息,请查看此处的 v3.2 更改日志。CSV/Excel 导出(Export) Action在 Filament v3.1中,引入了使用 CSV 导入大量数据的功能。从那时起,最常见的要求的...