Есть ли способ удалить некоторые команды из php artisan list
?
Я нахожу, что он слишком длинный, и часто мне приходится прокручивать или делать grepping. Например, какой-то проект, который я не использую в очереди, и скрытие команд очереди будет полезна.
Просто переопределите ArtisanServiceProvider, например:
создание нового провайдера назовет его ProductionArtisanServiceProvider
php artisan make:provider ProductionArtisanServiceProvider
Откройте нового поставщика и измените его на следующие
namespace App\Providers; use Illuminate\Foundation\Providers\ArtisanServiceProvider as IlluminateProvider; class ProductionArtisanServiceProvider extends IlluminateProvider { protected $devCommands = [ 'AppName' => 'command.app.name', ]; }
Вы видите выше, я переопределяю $ devCommands для полного списка
заглянуть внутрь Illuminate \ Foundation \ Providers \ ArtisanServiceProvider
Наконец, в вашем AppServiceProvider в функции register добавьте нового поставщика и убедитесь, что он загружен только в производственную среду
if ($this->app->environment() == 'production') { $this->app->register(\App\Providers\ProductionArtisanServiceProvider::class); }
Теперь все ненужные команды исчезли
Нет никакого хорошего способа сделать это. Большинство основных команд команд Illuminate\Foundation\Providers\ArtisanServiceProvider
хранятся в классе Illuminate\Foundation\Providers\ArtisanServiceProvider
в свойстве $commands
. Некоторые из них зарегистрированы непосредственно у соответствующих поставщиков услуг, таких как Queue в Illuminate\Queue\QueueServiceProvider
. Поэтому теоретически вы можете прокомментировать их там, но в первую очередь вы не должны вносить какие-либо изменения в каталог vendor
, потому что их можно отменить при любом обновлении.
Если вам приходится слишком часто проверять список команд, вам будет лучше потратить немного времени на фиксацию памяти, по крайней мере, на тех командах, которые вы используете на регулярной основе, потому что это сделает ваш рабочий процесс намного более эффективным.
Если вы случайно используете zsh с Oh My Zsh , вы можете использовать включенный плагин laravel5
который предлагает автозаполнение в вашем терминале, для всех зарегистрированных команд Laravel. Просто напишите php artisan
и нажмите TAB для списка автозаполнения команд, не требуется прокрутка :).
Освещенный. Наконец-то я получил хорошее решение. Создайте свой собственный псевдоним bash с помощью grep.
Добавьте это к моему ~ / .bashrc
Вся моя команда начинается с mycompany: command
Используйте любую комбинацию из 3 букв. can
для меня, потому что это первые 3 письма от имени моей компании.
alias can='php artisan | grep mycompany'
Как обновлено Богданом, нет хорошего способа удалить команду из списка мастеров. Один из доступных вариантов – переопределить существующую команду с помощью новой команды с той же $signature.
Если все команды, которые вас интересуют, начинаются с одного и того же префикса, например prefix:
вы можете перечислить их, используя artisan list prefix
.