Laravel 4.2 升级 Laravel 5 全面攻略(2)

use Illuminate\Auth\Authenticatable; use Illuminate\Auth\Passwords\CanResetPassword; use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;

删除 UserInterface 和 RemindableInterface 这两个接口,然后添加 AuthenticatableContract 和 CanResetPasswordContract 这两个接口。

添加以下两个 traits 到类里面

use Authenticatable, CanResetPassword;

如果你用到Illuminate\Auth\Reminders\RemindableTrait和Illuminate\Auth\UserTrait,那么就把他们删掉。

Artisan Commands

直接拷贝你的命令行程序的文件到 app/Console/Cammands 目录,并添加对应命名空间。

接着拷贝 start/artisan.php 内容到 app/Console/Kernel.php 文件的 command 数组中。例如

protected $commands = [ 'Laracasts\Console\Commands\ClearHistoryCommand', 'Laracasts\Console\Commands\SignupsReportCommand', 'Laracasts\Console\Commands\WelcomeUserCommand', ];

数据迁移 Database Migrations & Seeds

删除Laravel 5.0 database/migrations 中自带的两个数据迁移文件,然后把你自己原来的数据库迁移文件从 app/database/migrations 拷贝到 database/migrations 中来。 app/database/seeds 的文件拷贝到 database/seeds 中。

这个操作不需要添加命名空间,因为在 composer.json 中已经引入了该目录。

全局的依赖注入绑定 Global IoC Bindings

如果在 start/global.php 中有ioc绑定的话,那就吧他们移动到 app/Providers/AppServiceProvider.php 的 register 方法中。同时还需要引入 App facade。

视图模板 Views

直接从 app/views 复制到 resources/views 中。

Laravel 4.2中的 {{ }} 对应为Laravel 5.0的 {!! !!} ,而Laravel 4.2中的 {{{ }}} 对应Laravel 5.0的 {{ }} 。需要对应修改一下。

多语言文件 Translation Files

复制 app/lang 到 resources/lang

Public目录

把你的公共资源都直接拷贝过去吧!

测试文件

复制 app/tests 到 tests 目录。

Form 和 HTML 帮助函数

如果你用了 Form 或者 HTML 帮助函数,那么就在 composer.json 中添加 "illuminate/html": "~5.0" 。

然后在 config/app.php 中添加 'providers' :

'Illuminate\Html\HtmlServiceProvider',

接着�� 'aliases' 中添加:

'Form' => 'Illuminate\Html\FormFacade', 'Html' => 'Illuminate\Html\HtmlFacade',

分页

替换 $paginator->links() 为 $paginator->render()。如果你这里使用了分页模板的话,Laravel 4.2是在links中传入分页模板的路径字符串,而Laravel 5.0中render的参数为Illuminate\Contracts\Pagination\Presenter对象,需要根据需要建立一个继承该接口的类。

消息队列

Laravel 5.0对应的 Beanstalk 包为: "pda/pheanstalk": "~3.0",不再是 "pda/pheanstalk": "~2.1"

总结

相信你按照上面的步骤执行后,你的程序依然报错。因为自己的项目都可能有一些比较 个性 的地方,所以需要多加细心和耐心来完成纠错。

如果你使用了xdebug的断点调试,可能会让你事半功倍。

遇到问题了欢迎来探讨!

最后祝你 level up !^^

Ubuntu下使用Nginx部署Laravel 

Ubuntu 14.04 上使用 Nginx 部署 Laravel 5.0 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/4595865ddf72ffedf58a1c9a61ea9895.html