Laravel 2.X 是框架发展历程中的重要过渡版本(发布于2011年),其核心特性如下:
1. 路由系统增强
- 引入闭包路由语法,支持直接在路由中处理逻辑:
php
Route::get('user/profile', function() {
return '用户个人页';
});
- 支持 RESTful 控制器路由绑定:
php
Route::controller('photos', 'PhotoController');
2. 模块化架构 (Bundles)
- 首创 Bundle 模块系统(Package 前身)
- 支持通过命令行创建和管理模块:
bash
php artisan bundle:create forum
- 模块可包含独立的路由、视图、配置和迁移文件
3. 视图系统改进
- 原生支持视图继承:
blade
@extends('layouts.master')
@section('content')
<p>主内容区域</p>
@endsection
- 增加视图组件支持:
php
View::composer('profile', function($view) {
$view->with('count', User::count());
});
4. 数据库层升级
- 引入 Fluent 查询构造器:
php
DB::table('users')->where('votes', '>', 100)->get();
- 支持基础版 ORM(Eloquent 雏形):
php
class User extends Eloquent {}
$user = User::find(1);
5. 命令行工具 (Artisan)
- 新增核心命令行操作:
bash
php artisan migrate # 执行数据库迁移
php artisan bundle:publish # 发布模块资源
- 支持自定义命令生成:
bash
php artisan command:make CustomCommand
6. 错误处理机制
- 引入异常捕获中间件:
php
App::error(function(Exception $e) {
return Response::make('页面错误', 500);
});
- 支持 HTTP 异常定制化处理
技术演进意义
虽然 2.X 已被后续版本取代(当前稳定版为 Laravel 11),但其贡献包括:
- 模块化设计成为现代扩展包体系基础
- Fluent 构造器发展为完整 Query Builder
- Bundle 系统演化成现代 Package 架构
- 为后续 Blade 模板引擎奠定基础
注意:2.X 已于 2013 年停止维护,建议新项目使用现代版本(需 PHP 8.1+)以获得完整功能和安全更新。