【发布时间】:2013-09-16 11:52:50
【问题描述】:
我有一个用 L3 编写的网页,我觉得是时候将它移到 L4 了。所以我正在寻找一个告诉我移植过程的操作指南。我的旧文件现在属于哪些文件夹,哪些部分代码必须重写,语法更改等等。
【问题讨论】:
标签: laravel laravel-4 laravel-3
我有一个用 L3 编写的网页,我觉得是时候将它移到 L4 了。所以我正在寻找一个告诉我移植过程的操作指南。我的旧文件现在属于哪些文件夹,哪些部分代码必须重写,语法更改等等。
【问题讨论】:
标签: laravel laravel-4 laravel-3
Official changelog 应该可以帮到你。
也不要忘记更改您的方法名称。所有snake_case 方法名称都转换为camelCase。
编辑:文件夹名称几乎相同。 application文件夹变成app,app文件夹下model、view、controllers的文件夹路径还是一样的。迁移现在位于 app/database/migrations 文件夹中。
路由发生了一些变化。 :num、:all 等已被删除,现在您可以为它们命名,并使用正则表达式设置它们的规则。
例如:这个:
Route::get('my/method/(:num)', array('as' => 'name', 'uses' => 'controller@method'));
变成了这样:
Route::get('my/method/{id}', array('as' => 'name', 'uses' => 'yourController@yourMethod'))->where('id','[0-9]+');
(id 不是必须的,你可以随便命名。)
Route::get('my/method/{foo}', array('as' => 'name', 'uses' => 'yourController@yourMethod'))->where('foo','[0-9]+');
对于过滤器,您现在可以使用app/filters.php 而不是将它们放入您的routes.php。
【讨论】:
James Gordon 写了一篇不错的博客文章,详细说明了需要更改的各个部分。
Upgrading from Laravel 3 to Laravel 4
大约花了整整三天的时间(让我们称之为 24 小时) 将应用程序从 Laravel 3 转换为 Laravel 4。不包括 app/config、app/lang、app/tests 或任何其他存在的 Laravel 代码 在项目结构中,两个项目都包含了一点点 2,500 行代码。原始项目的确切行数 如下:
文件夹 LOC 控制器 540 个助手 183 个模型 927 个任务 384 个视图 476 总计 2,510
【讨论】: