以前,如果我们要创建一个自己的artisan命令,需要执行php artisam make:command command-name,然后写好相应的逻辑以后,还需要手动在app/Console/kernel.php中注册一下新创建的这个命令。

在laravel 5.5里,我们就不需要手动注册了,可以自动加载了,实现原理是这样的:

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

    require base_path('routes/console.php');
}
[...]

假设我们创建了一个artisan命令,但是没有手动去注册它,那么就会调用这个commands()方法,到Commands文件夹里去自动加载。

如果你对创建自己的artisan command还不熟悉,尤其是在自己的command class里如何一步步写相应的逻辑,记得check我们laravel底层实战揭秘,在那里我们一步步用artisan command向pusher来发送测试消息~