我有一个用L3编写的网页,我觉得按时将它移到L4。所以我正在寻找一个告诉我移植过程的指南。我的旧文件现在在哪些文件夹中,以及必须重写哪些代码部分,语法更改等等。
答案 0 :(得分:7)
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
答案 1 :(得分:3)
Official changelog可以帮到你。
另外不要忘记更改方法名称。所有snake_case
方法名称都转换为camelCase
。
编辑:文件夹名称几乎相同。 application
文件夹变为app
,模型,视图和控制器'文件夹'路径在app文件夹下仍然相同。迁移现在位于app/database/migrations
文件夹中。
路由已经改变了一点。 :num
,:all
等被删除,现在你可以为它们命名,并用正则表达式设置它们的规则。
E.g:这:
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
。