Laravel 5.x 系列是框架的重要迭代版本,主要特性如下(按子版本分类):
Laravel 5.0
-
目录结构重构
引入app/Http目录集中管理路由、控制器和中间件,替代旧版app/controllers。 -
路由缓存
通过php artisan route:cache生成编译后的路由文件,提升性能。 -
方法注入
控制器方法支持依赖注入:phppublic function store(Request $request, UserRepository $users) { // 直接使用 $request 和 $users }
Laravel 5.1 (LTS)
-
长期支持
提供 3 年官方维护周期。 -
Eloquent 改进
-
支持多态关联:
phpclass Comment extends Model { public function commentable() { return $this->morphTo(); } } -
whereHas()方法优化关联查询。
-
-
路由中间件参数
支持向中间件传递参数:phpRoute::get('/admin', function () { // ... })->middleware('role:admin');
Laravel 5.2
-
中间件组
将多个中间件组合为逻辑单元:phpprotected $middlewareGroups = [ 'web' => [ \App\Http\Middleware\EncryptCookies::class, // ... ], ]; -
隐式路由模型绑定
自动解析路由参数至模型:phpRoute::get('/users/{user}', function (User $user) { return $user; }); -
API 认证驱动
引入token驱动简化 API 认证。
Laravel 5.3
-
通知系统
通过Notification类统一管理邮件、短信等通知:php$user->notify(new InvoicePaid($invoice)); -
实时消息
集成Laravel Echo和WebSocket实现实时通信。 -
全文搜索
支持Scout包与Algolia/Elasticsearch集成。
Laravel 5.4
-
Markdown 邮件模板
使用 Markdown 语法设计响应式邮件:bashphp artisan make:mail OrderShipped --markdown=emails.orders.shipped -
Blade 组件与插槽
改进组件化模板开发:blade<!-- alert.blade.php --> <div class="alert"> {{ $slot }} </div> -
任务调度改进
支持->onOneServer()限制任务仅单服务器运行。
Laravel 5.5 (LTS)
-
自动包发现
自动加载composer.json中声明的服务提供者。 -
自定义异常处理
通过render()方法统一处理异常响应。 -
迁移匿名类
简化小规模迁移文件:phpreturn new class extends Migration { public function up() { /* ... */ } };
性能与工具
- 队列优化 :5.0 引入
Redis队列驱动,5.3 新增Horizon队列监控面板。 - 前端工具链 :5.4 集成
Laravel Mix替代Elixir,简化 Webpack 配置。 - 测试增强 :5.4 支持浏览器测试
Dusk。
版本支持周期
- 5.1 和 5.5 为 LTS 版本(3 年维护期)。
- 非 LTS 版本提供 6 个月错误修复 + 1 年安全更新。