好的,Laravel 7.x 引入了多项重要更新和特性,以下是其主要亮点:
-
路由绑定优化
- 允许在路由中使用自定义键名解析 Eloquent 模型。例如,以前可能使用
$user(基于id),现在可以指定使用username等字段: - 简化了路由模型绑定逻辑,提高了灵活性。
- 允许在路由中使用自定义键名解析 Eloquent 模型。例如,以前可能使用
-
自定义 Eloquent 类型转换
- 支持开发者定义自定义的
Cast类,用于在模型属性存取时进行复杂的数据类型转换(例如,数组、JSON 对象等)。 - 替代了之前部分复杂的
$casts定义或访问器/修改器,使代码更清晰、复用性更高。
- 支持开发者定义自定义的
-
Mailcoach
- 提供了一个全新的、优雅的邮件发送列表和活动管理工具包(作为可选安装包)。
- 允许直接在 Laravel 应用中创建和管理邮件列表、设计邮件模板、发送活动邮件并跟踪统计数据。
-
HTTP 客户端
- 引入了一个基于 Guzzle 的、流畅的 HTTP 客户端。
- 提供了更简洁的语法来发起 HTTP 请求和处理响应。
- 支持常用的 HTTP 方法(GET, POST, PUT, PATCH, DELETE)。
- 集成了便捷的测试方法(如
assertSent,assertNotSent)。
-
CORS 支持
- 为跨源资源共享提供了开箱即用的支持。
- 通过
cors配置文件即可轻松配置允许的源、方法、头部等。
-
路由缓存优化
- 对路由缓存机制进行了改进,提升了大型应用的路由解析性能。
-
Eloquent 模型工厂增强
- 模型工厂类被重构为更简洁的语法。
- 支持在工厂定义中使用状态转换(
state方法)来创建具有不同属性的模型变体。 - 支持工厂关系。
-
Artisan
test命令- 新增了
php artisan test命令,作为运行 PHPUnit 测试的快捷方式。
- 新增了
-
Blade 组件增强
- 引入了更强大、更灵活的 Blade 组件系统。
- 支持基于类的组件、组件标签、内联组件模板、动态组件等特性。
- 提供了更好的封装和复用能力。
-
Stub定制- 允许开发者发布和自定义 Artisan 命令生成器使用的存根文件模板。
-
队列任务最大尝试次数配置
- 支持在任务类上直接定义
$maxExceptions属性来设置任务的最大异常尝试次数。
- 支持在任务类上直接定义
-
版本号
- Laravel 7.x 遵循了新的版本命名约定,版本号格式为
主版本.次版本.修订版本(如7.0.0),与之前的5.8.*等格式不同。
- Laravel 7.x 遵循了新的版本命名约定,版本号格式为
这些特性旨在提升开发效率、增强框架功能、改善开发体验和应用性能。