探索 Laravel 11 的中间件
Laravel 11将于2024年“第一季度”发布。我正在启动一个新项目,因为离发布日期太近了,我想我会看看新的主要版本会有什么不同。我记得 6 个月前读过 Laravel News 的一篇文章,关于 Http Kernel 是如何消失的,我对此不以为然。当我使用 laravel new project -dev 创建项目时,我对项目规模如此之小感到非常惊讶...
Laravel 11: once() 记忆化辅助函数
once() 函数最初的灵感来自 Taylor Otwell 的这条推文,Spatie 将其制作成一个包,现在已进入Laravel 11 中的 Laravel 框架的核心。这个辅助函数确保无论调用对象方法多少次,都能获得相同的值。当您有一些代码想要确保只运行一次时,once函数非常有用。让我们使用新的 Laravel 11 make:class Artisa...
Laravel 11: 深入了解精简的目录结构
我想你会喜欢下周推出的 Laravel 11 应用程序中的新框架!新人会欣赏极简主义,有经验的开发人员升级不会喷到破坏性的变化。你不必更改Laravel 10 应用结构即可升级到 Laravel 11。如果你想跟随并进行实验,你可以同时创建一个 Laravel 10 和 Laravel 11 项目。我们使用以下命令来执行此操作# Update the ins...
Laravel 11 引入 Dumpable Trait
虽然从技术上讲 Dumpable trait 是 Laravel 11 新增的,我想说的是,它将 dump() 和 dd() 的思想整合为一个可重用的 trait,这样类就不必单独手动实现。应用开发人员和包作者也可以从这种新的 /support trait 中受益,以便在可链接类中轻松添加调试方法。在 Laravel 10 中,我们已经很喜欢能够将...
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 代码(...
在 Laravel 中使用 Pay Pocket 管理虚拟钱包
Laravel 的 Pay Pocket 包提供了支付能力和日志。它不处理来自支付平台的付款,不过提供了虚拟金额的概念。比方说,你想允许用户在钱包中赚取虚拟货币,或者在通过处理完成支付后向账户添加余额。例如,Fortnite 的 V-Bucks 就是一个在虚拟钱包中交换真实货币的例子,你可以在游戏的商店里消费。你可以通过在模型中使用包的 ManagesWal...
使用 PHP2JS 在 PHP 和 JavaScript 之间分享数据
Laravel 的 PHP2JS 包是标准化 PHP 和 JavaScript 之间共享数据过程的一种方法。有很多方法可以在前端和后端之间共享数据,所以这个包可能不适合所有人,但它可以提供一个简单的解决方案,以一致的方式与 JavaScript 共享数据。以下是文档中的一个示例,该示例说明了此包如何将来自控制器的数据分享给视图,使得 JavaScript 可...