我有一个用 L3 编写的网页,我觉得是时候将它移到 L4 了。所以我正在寻找一个告诉我移植过程的操作指南。我的旧文件现在属于哪些文件夹,哪些部分代码必须重写,语法更改等等。
问问题
2550 次
2 回答
7
James Gordon 写了一篇不错的博客文章,详细说明了需要更改的各个部分。
将应用程序从 Laravel 3 转换为 Laravel 4 大约花了整整三天的时间(我们称之为 24 小时)。不包括 app/config、app/lang、app/tests 或项目结构中存在的任何其他 Laravel 代码,这两个项目都包含超过 2,500 行代码。原始项目的确切行数如下:
文件夹 LOC 控制器 540 个助手 183 个模型 927 个任务 384 个视图 476 总计 2,510
于 2013-09-12T08:35:33.440 回答
3
官方变更日志应该对您有所帮助。
也不要忘记更改您的方法名称。所有snake_case
方法名称都转换为camelCase
.
编辑:文件夹名称几乎相同。application
文件夹变为app
,模型、视图和控制器的文件夹路径在 app 文件夹下仍然相同。迁移现在位于app/database/migrations
文件夹中。
路由发生了一些变化。, etc 被删除: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
.
于 2013-09-12T08:06:38.450 回答