注册了自定义的服务提供器,artisan 中获取不到
RT,我想要自定义个服务提供器,然后在artisan命令程序中使用它,程序总是报错类不存在。
服务提供器代码:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use App\Handle\SwooleTable;
class SwooleTableProvider extends ServiceProvider
{
/**
* 是否延时加载提供器。
*
* @var bool
*/
protected $defer = true;
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
//
}
/**
* 注册Swoole table服务
*
* @return void
*/
public function register()
{
//
$this->app->singleton('SwooleTable', function ($app){
return new SwooleTable();
});
}
/**
* 获取提供器提供的服务。
*
* @return array
*/
public function provides()
{
return ['SwooleTable'];
}
}
config/app.php
...
'providers' => [
...
/**
* 注册swoole table服务
*/
App\Providers\SwooleTableProvider::class
],
....
我自定义的命令行类
...
public function handle()
{
var_dump(app('SwooleTable'));
/**
* In Container.php line 752:
* Class SwooleTable does not exist
* 此处报错
*
**/
}
...
推荐文章: