Laravel 7.x 于 2020 年 3 月发布,引入了多项重要特性与优化:
1. 路由模型绑定增强
-
自定义键名支持 :在路由模型绑定中可指定非
id的字段(如slug)作为查询键:phpRoute::get('posts/{post:slug}', function (Post $post) { return $post; });
2. 路由语法简化
-
新增
Route::view()与Route::redirect()快捷方法:phpRoute::view('/welcome', 'welcome'); // 渲染视图 Route::redirect('/here', '/there'); // 重定向
3. 邮件功能增强
-
多邮件驱动支持 :支持为不同邮件类型配置多个驱动(如 SMTP、Mailgun 并存):
php'mailers' => [ 'smtp' => [/* ... */], 'mailgun' => [/* ... */], ],
4. HTTP 客户端优化
-
集成基于 Guzzle 的轻量级 HTTP 客户端:
php$response = Http::get('https://api.example.com/data');
5. Blade 组件与自定义标签
-
组件化视图 :通过
x-前缀定义可复用组件:blade<x-alert type="error" :message="$message"/> -
自定义标签 :支持通过
@component扩展 Blade 指令。
6. Eloquent 模型特性
-
自定义类型转换 :支持为模型属性定义自定义转换逻辑:
phpprotected $casts = [ 'options' => JsonCast::class, ]; -
查询优化 :新增
whereLike()等方法简化模糊查询。
7. 辅助函数增强
-
str()与Arr工具类扩展:php$slug = str('Laravel 7')->slug(); // 生成 "laravel-7"
8. CORS 支持
-
内置跨域资源共享(CORS)中间件,简化 API 跨域配置:
php// 在 Kernel.php 中注册 protected $middleware = [ \Fruitcake\Cors\HandleCors::class, ];
9. 认证改进
- 脚手架生成的
LoginController支持自定义用户名(如username()方法)。
10. 生命周期优化
- 框架核心组件升级至 Symfony 5.x,提升性能与稳定性。
注:Laravel 7.x 已于 2022 年结束官方支持,建议升级至更新的 LTS 版本(如 Laravel 10)。