Laravel 3.x(2012年发布)是框架演进的重要过渡版本,主要特性如下:
1. Bundle模块系统
- 采用模块化设计,通过Bundle机制实现功能扩展
- 支持开发者创建可复用的代码包
php
// 注册Bundle示例
Autoloader::namespaces(array(
'Admin' => Bundle::path('admin').'models'
));
2. 路由系统增强
- 支持RESTful风格路由声明
- 新增路由过滤器和分组功能
php
Route::get('user/(:num)', function($id) {
return 'User '.$id;
})->where('id', '[0-9]+');
3. 数据库迁移优化
- 引入结构化数据库版本控制
- 支持回滚操作(rollback)
php
Schema::table('users', function($table) {
$table->string('email')->after('name');
});
4. Eloquent ORM雏形
- 首次引入Active Record模式
- 基础模型关联功能(has_one, has_many)
php
class User extends Eloquent {
public function posts() {
return $this->has_many('Post');
}
}
5. 命令行工具Artisan
-
集成基础命令行操作接口
-
支持生成控制器/模型骨架代码
php artisan generate:controller UserController
6. 模板引擎改进
- Blade模板引擎首次亮相
- 支持模板继承和区块功能
blade
@extends('layout.master')
@section('content')
<p>页面主体内容</p>
@endsection
技术限制说明
- 依赖PHP 5.3+(不支持命名空间)
- 无Composer原生支持(需手动加载)
- 授权系统较简单(无Policy机制)
- 事件系统为观察者模式基础实现
注:Laravel 3.x已于2014年停止维护,建议新项目使用现代版本(如Laravel 10.x)。此版本为后续Laravel 4的完整重构奠定了基础。