Laravel 9.x 作为长期支持版本(LTS),引入了多项重要改进:
1. 路由控制器改进
-
显式路由模型绑定 :
在路由闭包或控制器中需显式定义模型绑定,避免隐式依赖:phpRoute::get('/users/{user}', function (User $user) { return $user; });
2. Eloquent 访问器/修改器语法优化
-
使用新语法定义访问器和修改器:
php// 访问器 public function getNameAttribute($value): string { return ucwords($value); } // 修改器 public function setNameAttribute($value): void { $this->attributes['name'] = strtolower($value); }
3. 默认使用 Flysystem V2
-
集成
flysystem第 2 版,支持更灵活的存储驱动:phpStorage::disk('s3')->put('file.txt', 'content');
4. 强制要求 PHP 8.0+
- 最低 PHP 版本要求为 8.0,支持新语言特性(如命名参数、联合类型)。
5. 测试套件增强
-
HTTP 测试断言优化 :
新增assertJsonPath()和assertJsonFragment()等方法:php$response->assertJsonPath('user.email', 'test@example.com');
6. 异常处理页面美化
- 错误页面采用新版设计,提供更清晰的调试信息。
总结
Laravel 9.x 聚焦于现代 PHP 特性适配、开发体验优化及第三方库升级,适合需要长期稳定支持的项目使用。