编程

使用 Essentials 改进 Laravel 的默认配置

15 2025-06-23 19:12:00

Essentials  是 Nuno Maduro 创建的一个包,为 Laravel 应用提供了更好的默认设置。它包括严格的模型、自动热加载的关联、不可变的日期等等。

主要特性

  • 强制严格模式:这改善了 Eloquent 处理未定义的属性、懒加载和无效赋值。
  • 饥饿加载(Eager Loading):自动饥鄂加载模型的 $with 属性中定义的关联。
  • 可选的 Unguarded 模型:全局禁用 Laravel 的批量赋值保护(opt-in)
  • 不可变日期:在应用中使用 CarbonImmutable 而不是不可变日期对象
  • 强制 HTTPS:确保所有生成的 URL 都使用 HTTPS 协议
  • 安全控制台:在生产中阻止可能具有破坏性的 Artisan 命令(e.g., migrate:fresh)。
  • 资源预加载:配置 Laravel Vite 以更积极地预加载资源。
  • 防止随意请求:配置 Laravel HTTP facade 来阻止随意请求的发送
  • 伪造 Sleep:将 Laravel Sleep Facade 配置为模拟模式。
  • 额外的 Artisan 命令:使用 make:action 生成 Action 类,使用 essentials:pintessentials:rector 使用一些推荐的默认值来配置 Pint 和 Rector。
  • 还有更多值得期待的可能会在未来i骄傲如。

虽然此包包含几个合理的默认值,但所有功能都可以通过 config/essentials.php 配置文件进行配置。

注: Nuno 只推荐在新项目中或者你对其引入的修改感到舒适时,使用该包。因其修改了 Laravel 的默认设置。

安装该包,可以运行如下命令:

composer require nunomaduro/essentialsphp artisan vendor:publish --tag=essentials-stubs

 

下一篇