Laravel 9.x 是 PHP 框架的重要版本更新,主要特性包括:
1. 最低 PHP 版本要求提升
- 需 PHP 8.0 或更高版本,充分利用新语法特性(如命名参数、属性注解等)。
2. 路由模型绑定语法优化
-
简化路由模型绑定定义:
php// 旧语法 Route::get('users/{user}', function (User $user) { ... }); // 新语法(隐式绑定增强) Route::get('users/{user:slug}', function (User $user) { ... });
3. Eloquent 访问器/修改器改进
-
支持类型声明,提升代码可读性:
php// 定义访问器(返回类型声明) public function getNameAttribute(string $value): string { return ucwords($value); }
4. 测试套件升级
-
集成 PHPUnit 10 ,支持新的测试断言方法:
php$this->assertJsonStructure([ 'data' => [ 'id', 'name' => ['first', 'last'] ] ]);
5. Flysystem 驱动升级
-
默认使用 Flysystem v3 ,优化文件存储操作:
phpStorage::put('file.txt', 'Content'); // 更简洁的 API
6. SCOUT 驱动增强
- 支持 Meilisearch 和 Typesense 等现代搜索引擎驱动。
7. 默认启用匿名迁移
-
避免迁移类名冲突:
phpuse Illuminate\Database\Migrations\Migration; return new class extends Migration { ... }; // 匿名类
8. 异常处理优化
- 改进错误页面渲染逻辑,支持更清晰的调试信息分层。
9. 新增 str() 与 to_route() 辅助函数
str('Laravel')->snake():链式字符串操作。to_route('profile'):替代redirect()->route()的简写。
破坏性变更提示
- 移除已弃用包(如
fideloper/proxy)。 - 部分
Carbon方法需替换为Illuminate\Support\Carbon。
完整特性详见 Laravel 9.x 官方文档。建议通过
composer create-project laravel/laravel example-app --prefer-dist "9.*"创建新项目体验。