Eliminar comandos de php lista de artesanos

¿Hay alguna manera de eliminar algunos comandos de la php artisan list ?

Me parece que es demasiado largo y, a menudo, tengo que desplazarme o hacer grepping. Por ejemplo, algunos proyectos que no uso en cola y ocultar los comandos de cola serán útiles.

Simplemente anule el ArtisanServiceProvider por ejemplo:

crear un nuevo proveedor lo nombrará ProductionArtisanServiceProvider

 php artisan make:provider ProductionArtisanServiceProvider 

Abra el nuevo proveedor y cámbielo a la siguiente

 namespace App\Providers; use Illuminate\Foundation\Providers\ArtisanServiceProvider as IlluminateProvider; class ProductionArtisanServiceProvider extends IlluminateProvider { protected $devCommands = [ 'AppName' => 'command.app.name', ]; } 

Usted ve arriba estoy anulando los $ devCommands para la lista completa

buscar en el interior Illuminate \ Foundation \ Providers \ ArtisanServiceProvider

Finalmente, en su AppServiceProvider en la función de registro, agregue su nuevo proveedor y nos aseguramos de que solo se cargue en el entorno de producción

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

Ahora todos los comandos innecesarios se han ido

No hay una buena manera de hacerlo. La mayor parte de la lista de comandos de artesanos principales se almacena en la clase Illuminate\Foundation\Providers\ArtisanServiceProvider dentro de la propiedad $commands . Algunos se registran directamente de sus respectivos proveedores de servicios, como los Queue en Illuminate\Queue\QueueServiceProvider . Entonces, en teoría, podría comentarlos por ahí, pero no debería hacer ningún cambio en el directorio de vendor en primer lugar, ya que se pueden deshacer en cualquier actualización.

Si tiene que revisar la lista de comandos con demasiada frecuencia, sería mejor que se tomara un poco de tiempo para memorizar al menos los comandos que usa con regularidad, ya que haría que su flujo de trabajo sea mucho más eficiente.


Si por casualidad está usando zsh con Oh My Zsh , entonces podría usar el complemento laravel5 incluido que ofrece autocompletado en su terminal, para todos los comandos Laravel registrados. Simplemente escriba php artisan y presione TAB para obtener una lista de autocompletar de los comandos, no se requiere desplazamiento :).

Según lo actualizado por Bogdan, no hay una buena manera de eliminar el comando de la lista de artesanos. Una opción disponible es anular el comando existente con el comando nuevo con la misma $signature.

Si todos los comandos en los que está interesado comienzan con el mismo prefijo, por ejemplo prefix: puede enumerarlos usando el artisan list prefix .

Posarse. Finalmente conseguí una buena solución. Crear mi propio alias de bash con grep.

Agrega esto a mi ~ / .bashrc

Todo mi comando comienza con mi empresa: comando

Utilice cualquier atajo de 3 letras. can por mí porque es la primera letra 3 del nombre de mi empresa.

 alias can='php artisan | grep mycompany'