Laravel 3.x 是框架早期版本的核心迭代,其特性主要体现在以下方面:
1. Bundle 模块化架构
- 功能封装 :通过
Bundle实现功能模块化,支持独立开发与复用 - 加载机制 :需手动注册 Bundle 至
application/bundles.php配置文件
php
// 示例:Bundle 注册
return array(
'admin' => array('auto' => true),
);
2. 路由系统
- 路由定义 :在
routes.php中采用闭包式声明
php
// 基础路由示例
Route::get('user/profile', function() {
return View::make('user.profile');
});
- 控制器绑定:支持将路由映射至控制器方法
php
Route::get('post/(:num)', 'post@show');
3. 视图引擎
- 模板语法 :使用
{``{ }}输出转义内容,{``{``{ }}}输出原始 HTML
blade
<!-- 视图示例 -->
<h1>{{ $title }}</h1>
{{{ $raw_content }}}
- 布局继承 :通过
@layout指令实现模板继承
blade
@layout('master')
@section('content')
<p>页面主体内容</p>
@endsection
4. Eloquent ORM 早期形态
- Fluent Query Builder:提供链式数据库操作接口
php
// 查询构建示例
$users = DB::table('users')
->where('votes', '>', 100)
->get();
- ActiveRecord 支持 :模型继承
Eloquent基类实现 ORM 映射
php
class User extends Eloquent {}
5. Artisan 命令行工具
- 基础脚手架:支持生成控制器、迁移文件等
bash
php artisan generate:controller admin
- 数据库迁移:通过迁移文件管理表结构变更
bash
php artisan migrate:make create_users_table
6. 安全特性
- CSRF 防护:内置表单令牌验证机制
blade
<!-- 表单中使用 CSRF 令牌 -->
{{ Form::token() }}
- 输入过滤 :通过
Input::get()自动过滤危险字符
php
$name = Input::get('name', 'default');
7. 扩展限制说明
- 依赖管理:未集成 Composer,扩展需手动下载引入
- 生命周期:该版本已于 2013 年停止维护,新版特性(如中间件、Blade 组件)均不适用
提示:现代项目建议使用 Laravel 10.x 等新版,其采用
Package替代Bundle并深度整合 Composer 生态。