从php artisan列表中删除命令

Yad*_*ada 8 php laravel

有没有办法从中删除一些命令php artisan list

我发现它太长了,我经常需要滚动或进行踩踏.例如,某些项目我不使用队列并隐藏队列命令将是有用的.

ste*_*ven 12

只需覆盖ArtisanServiceProvider,例如:

创建一个新的提供者将其命名为ProductionArtisanServiceProvider

php artisan make:provider ProductionArtisanServiceProvider
Run Code Online (Sandbox Code Playgroud)

打开新提供程序并将其更改为以下内容

namespace App\Providers;

use Illuminate\Foundation\Providers\ArtisanServiceProvider as IlluminateProvider;

class ProductionArtisanServiceProvider extends IlluminateProvider
{
     protected $devCommands = [
       'AppName' => 'command.app.name',
     ];
}
Run Code Online (Sandbox Code Playgroud)

你看上面我覆盖了完整列表的$ devCommands

查看Illuminate\Foundation\Providers\ArtisanServiceProvider

最后在您的注册函数AppServiceProvider中添加您的新提供程序,我们确保它仅在生产环境中加载

    if ($this->app->environment() == 'production') {
        $this->app->register(\App\Providers\ProductionArtisanServiceProvider::class);
    }
Run Code Online (Sandbox Code Playgroud)

现在所有不必要的命令都消失了