4

我有一个用 L3 编写的网页,我觉得是时候将它移到 L4 了。所以我正在寻找一个告诉我移植过程的操作指南。我的旧文件现在属于哪些文件夹,哪些部分代码必须重写,语法更改等等。

4

2 回答 2

7

James Gordon 写了一篇不错的博客文章,详细说明了需要更改的各个部分。

从 Laravel 3 升级到 Laravel 4

将应用程序从 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 回答