Laravel 3.x(2012年发布)是框架演进的重要过渡版本,主要特性如下:

1. Bundle模块系统

  • 采用模块化设计,通过Bundle机制实现功能扩展
  • 支持开发者创建可复用的代码包
// 注册Bundle示例
Autoloader::namespaces(array(
    'Admin' => Bundle::path('admin').'models'
));

2. 路由系统增强

  • 支持RESTful风格路由声明
  • 新增路由过滤器和分组功能
Route::get('user/(:num)', function($id) {
    return 'User '.$id;
})->where('id', '[0-9]+');

3. 数据库迁移优化

  • 引入结构化数据库版本控制
  • 支持回滚操作(rollback)
Schema::table('users', function($table) {
    $table->string('email')->after('name');
});

4. Eloquent ORM雏形

  • 首次引入Active Record模式
  • 基础模型关联功能(has_one, has_many)
class User extends Eloquent {
    public function posts() {
        return $this->has_many('Post');
    }
}

5. 命令行工具Artisan

  • 集成基础命令行操作接口
  • 支持生成控制器/模型骨架代码
php artisan generate:controller UserController

6. 模板引擎改进

  • Blade模板引擎首次亮相
  • 支持模板继承和区块功能
@extends('layout.master')

@section('content')
    <p>页面主体内容</p>
@endsection

技术限制说明

  1. 依赖PHP 5.3+(不支持命名空间)
  2. 无Composer原生支持(需手动加载)
  3. 授权系统较简单(无Policy机制)
  4. 事件系统为观察者模式基础实现

注:Laravel 3.x已于2014年停止维护,建议新项目使用现代版本(如Laravel 10.x)。此版本为后续Laravel 4的完整重构奠定了基础。

更多推荐