Neo Anderson's Blog

laravel版本升级的一些注意事项(5.5当前)

字数统计: 334阅读时长: 1 min
2017/12/26

最近一段时间,在集中负责公司相关项目的开源框架升级, 现在把一些细节简单梳理下:

  • 1, 更新commands/Kernel.php 的command方法, 所有的脚本命令,已经不需要注册到Kernel文件中, 生成文件后可以即刻artisan 命令执行;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#Kernel.php 新增


protected function commands()
{
$this->load(__DIR__ . '/Commands');
}

#注释或者删除原有注入的

$commands = [
xxxx1::class,
xxxx2::class,
...
]
  • 2, 安装第三方依赖 composer包的时候, 不需要再次注册 provider 和 facades; 如果是自己开发的需要 在 composer.json - extra中声明provider.
1
2
3
4
5
#config/app.php
'providers' => [
// Illuminate\Routing\ControllerServiceProvider::class,
// Illuminate\Foundation\Providers\ArtisanServiceProvider::class,
]
  • 3, 目前最新版本中, 队列默认已经实现了SelfHandling, 无需显示实现该接口.
1
xxxjob extends Job implements /*SelfHandling */{ ...}
  • 4, provider的注册是不再需要 Illuminate\Routing\ControllerServiceProvider , Illuminate\Foundation\Providers\ArtisanServiceProvider,
1
2
3
4
5
#config/app.php
'providers' => [
// Illuminate\Routing\ControllerServiceProvider::class,
// Illuminate\Foundation\Providers\ArtisanServiceProvider::class,
]
  • 5, 所有基于Illuminate\Foundation\Support\Providers\EventServiceProvider 的子类在实现boot方法时,不需要在传递事件对象参数(\Illuminate\Contracts\Events\Dispatcher)

  • 6, 重要的事情说三遍, 一定要把旧有的各类缓存都清除一遍. 命令见下图

1
2
3
4
5
/usr/bin/php artisan  cache:clear 
/usr/bin/php artisan route:clear
/usr/bin/php artisan clear-compiled
/usr/bin/php artisan config:clear
/usr/bin/php artisan view:clear
CATALOG