Laravel 9.X 版本引入了多项重要改进,主要包括以下特性:
1. PHP 8.0 最低要求
- 强制要求运行环境为 PHP 8.0 或更高版本,充分利用 PHP 8 的新特性(如命名参数、联合类型等)。
2. 路由控制器语法改进
-
简化路由控制器的定义,支持更简洁的语法:
phpRoute::get('/user', [UserController::class, 'index']);替代传统的字符串语法(如
'UserController@index')。
3. 匿名迁移文件
-
默认生成的迁移文件不再包含类名,避免类名冲突:
phpreturn new class extends Migration { ... };
4. Eloquent 访问器/修改器改进
-
支持通过 PHP 类型声明 定义访问器与修改器:
phppublic function setName(string $value): void { $this->attributes['name'] = strtoupper($value); }
5. Flysystem 升级至 v3
- 文件存储系统升级到
flysystem v3,支持更灵活的文件操作(如 AWS S3、FTP 等适配器)。
6. Laravel Scout 数据库驱动
-
新增 Scout 的数据库驱动,无需外部搜索服务(如 Algolia)即可实现基础全文搜索:
php// config/scout.php 'driver' => 'database',
7. PHP 8 特性适配
-
支持 枚举类型(Enums) 的路由绑定:
phpRoute::get('/status/{status}', function (Status $status) { ... }); -
改进异常处理,利用 PHP 8 的
Throwable接口。
8. Eloquent 时间辅助函数
-
新增时间辅助方法(如
created()):phpUser::created()->get(); // 获取今天创建的用户
9. Symfony Mailer 替换 Swift Mailer
- 邮件组件从
Swift Mailer迁移至Symfony Mailer,支持更现代的邮件协议。
10. LTS 长期支持
- Laravel 9 是 LTS(Long Term Support)版本,提供 3 年的 bug 修复和 2 年的安全更新支持。
这些改进显著提升了开发效率、代码可维护性及性能。建议结合官方文档进行升级: