一起来看看Laravel 11都有哪些新功能和改进

Laravel 11新功能和改进

Laravel 是一个领先的 PHP 框架,以其优雅的语法、强大的功能和对开发人员友好的工具而闻名。它的架构支持有效的 PHP 网络开发,帮助您构建可扩展、可维护的应用程序。

Laravel 11 引入了多项变革性功能,提高了开发人员的工作效率,增强了应用程序的性能。从简化配置和调试到提高灵活性,这个版本提高了开发效率,帮助你构建更强大的应用程序。让我们深入了解一下!

Laravel 11 中重新设计的目录结构

Laravel 11 采用了重新设计的目录结构,提高了开发效率。这一改动简化了项目文件的组织,并减少了以前 Laravel 版本中的模板代码。

删除了某些目录,如 app/Exceptionsapp/Http/Middleware,使 Laravel 11 的结构比以前的版本更加简洁。例如,早期版本包含九个中间件,其中许多你不太可能定制。去掉这个目录,可以最大限度地减少代码的冗余,让你专注于代码库的重要方面。如果需要定制中间件,可以通过 App/ServiceProvider 来实现。

Laravel 11 还删除了 config 文件夹,从而改变了管理配置的方式。我们将在后面的章节讨论这一变化。

Laravel 新目录结构的优点包括:

  • 代码可重用性 – 减少了模板代码,您就可以专注于创建模块化和可重用的组件。这种在整个应用程序中重复使用通用功能的能力可提高开发流程的效率。
  • 改善知识共享 – 不那么复杂的目录结构有利于团队成员和技术人员之间的知识共享。更简单的产品结构导航使协作更顺畅、更有效。
  • 减少编码时间 – 消除不必要的目录和文件意味着开发人员减少了处理不必要的模板代码的时间。更快的编码、调试和测试提高了工作效率。

精简的目录结构提供了完善的开发流程,并能更快地实现特性和功能。

增强模型转换的灵活性

Laravel 11 正在向基于方法的模型转换过渡,从而改变了在 Laravel Eloquent 模型中处理属性的方式。

在旧版本的 Laravel 中,你可以使用 properties 数组来定义属性。在 Laravel 11 中,你可以在一个名为 casts() 的方法中指定模型的属性。

向基于方法的模型转换提供了几个与代码方法或函数类似的优点。其中最重要的一点是代码的可重用性。在方法中包含铸模逻辑可以使代码更加模块化和可重用。此外,由于 casts() 方法对属性转换进行了划分,因此代码的可读性和可维护性都得到了提高。

同样重要的是,Laravel 11 确保了与以前版本的向后兼容性。因此,你可以将现有代码无缝过渡到使用 Laravel 11 更新的模型铸造方法。这种兼容性使得采用 Laravel 11 成为一个顺利的过程–尤其是当你已经熟悉了它的早期迭代版本时。

简化配置

如前所述,Laravel 11 带来了配置管理方面的转变。它将配置设置整合到了一个单独的文件中:.env 文件。这与之前的 Laravel 版本明显不同,之前的版本将配置分散在多个文件中。

将配置只放在 .env 文件中,大大提高了组织性。它还简化了开发工作流程,使之更直观、更高效。

另一个与配置相关的重要更新是级联功能,通过该功能,您可以删除不想自定义的不必要选项,从而对配置进行微调。这样,开发工作就更加紧凑了。

单个 .env 文件无需多个文件,而是将所有相关配置存储在一个地方。不过,如果你觉得 .env 文件太大,可以使用命令将配置文件返回 config 目录。例如,php artisan config:publish auth 会在 config 目录中生成 auth.php 文件。

检索特定配置的能力是企业的一大福音。

利用新的 Dumpable 特性完善调试体验

Dumpable 特质是 Laravel 11 的重要补充。它能让你在类中使用熟悉的调试辅助工具,包括 dd()dump() 方法。这些方法在调试过程中非常有用,因为它们提供了关于目标对象或变量的实时见解。

请注意,Dumpable 特质很可能会取代 Laravel 核心类中现有的 dddump 方法,从而确保整个框架具有一致、连贯的调试体验。

Laravel 11 的路由处理创新

Laravel 11 通过合并路由处理大大改进了早期版本。它将默认路由文件的数量从四个减少到两个:routes.phpconsole.php。这一变化影响深远,因为它最大限度地减少了模板代码,使框架更加直观。

需要注意的是,如果你想在应用程序中加入 API 路由,这一改动意味着你必须特意选择加入。这种机制支持更简洁、更量身定制的应用程序结构,只在必要时才包含 API 路由。要生成 api.php 文件并集成 Laravel Sanctum,请运行 php artisan install:api 命令。

Laravel 11 中的事件广播也遵循类似的模式。要激活功能并创建 channels.php 文件,运行 &php artisan install:broadcasting 命令。这将协调重要文件和配置的设置,加速将事件广播集成到 Laravel 应用程序中。

总之,这些变化支持向模块化和可定制的应用结构转变。因为你可以选择特定的功能,Laravel 11 提供了比以前版本更量身定制的路由文件管理方法。

Laravel HTTP 内核的演变

Laravel 内核是框架的重要组成部分,是 HTTP 请求和终端命令的入口。它负责协调这些请求的流程,管理中间件栈、路由和其他有助于应用程序处理传入请求的重要组件。

Laravel 11 删除了 Laravel 内核。取而代之的是 Bootstrap/App 类,它将基本接口绑定到容器中。设置好必要的组件后,Bootstrap/App 类返回应用程序实例。这种将实例构建与应用程序执行和响应处理分离开来的做法,提供了一种更模块化的架构。

移除 Laravel 内核是减少模板代码的又一举措。由于 Bootstrap/App 类负责基本设置,因此您可以专注于构建应用程序的核心功能。一旦应用程序实例运行,Bootstrap/App 类就会确保必要的网络请求处理,从而简化开发过程,促进代码库的有序化。

整合默认迁移以提高效率

Laravel 11 对默认迁移进行了全面调整。从 2014 年到 2019 年的旧版本中,大量默认迁移分布在多个文件中。与此同时,最新版本将这些文件压缩为两个,为开发人员提供了更有条理、更友好的用户体验。

默认迁移文件的减少简化了对生成迁移的访问和管理,提高了数据库结构的清晰度,并减少了潜在的混乱和错误。

此外,有了更简洁明了的默认迁移设置,你就可以分配更多时间,专注于项目的具体要求,而不是处理复杂的模板迁移文件。

Laravel 11 经过优化的默认迁移功能有助于带来更顺畅的开发体验,巩固了该框架以简洁易用著称的声誉。

PHP 8.2:Laravel 11 的新标准

Laravel 11 的另一个重要变化是将 PHP 8.2 设置为最低要求。在 Laravel 11 中,PHP 8.2 是默认设置,PHP 8.3 也即将推出。与 PHP 生态系统的最新进展保持一致,可确保 Laravel 与 PHP 最新(以及即将推出)的语言功能和优化保持兼容。

通过支持最近两个主要的 PHP 版本,Laravel 11 增强了性能、安全性和开发者体验。将 PHP 8.2 作为最低要求,可确保您的项目面向未来,并释放语言的全部潜能。

小结

Laravel 11 引入了重大更新,有望为您、您的团队和更广泛的开发者社区提升开发体验。改进的性能优化、对最新 PHP 版本的增强支持以及简化的工作流程功能,使 PHP 开发尽可能顺畅高效。

这些改进将转化为更顺畅的开发工作流程、更好的应用程序性能以及更高效的整体开发流程。

评论留言