Laravel - Console Artisan
Le framework Laravel fournit trois principaux outils d'interaction via la ligne de commande, à savoir: Artisan, Ticker et REPL. Ce chapitre explique en détail Artisan.
Introduction à Artisan
Artisan est l'interface de ligne de commande fréquemment utilisée dans Laravel et comprend un ensemble de commandes utiles pour développer une application Web.
Exemple
Voici une liste de quelques commandes dans Artisan avec leurs fonctionnalités respectives -
To start Laravel project
php artisan serve
To enable caching mechanism
php artisan route:cache
To view the list of available commands supported by Artisan
php artisan list
To view help about any command and view the available options and arguments
php artisan help serve
La capture d'écran suivante montre la sortie des commandes données ci-dessus -
Ecrire des commandes
En plus des commandes répertoriées dans Artisan, un utilisateur peut également créer une commande personnalisée qui peut être utilisée dans l'application Web. Veuillez noter que les commandes sont stockées dansapp/console/commands directory.
La commande par défaut pour créer une commande définie par l'utilisateur est indiquée ci-dessous -
php artisan make:console <name-of-command>
Une fois que vous avez tapé la commande ci-dessus, vous pouvez voir la sortie comme indiqué dans la capture d'écran ci-dessous -
Le fichier créé pour DefaultCommand est nommé comme DefaultCommand.php et est montré ci-dessous -
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class DefaultCommand extends Command{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'command:name';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Command description';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct() {
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle() {
//
}
}
Ce fichier comprend la signature et la description de la commande définie par l'utilisateur. La fonction publique nomméehandleexécute les fonctionnalités lorsque la commande est exécutée. Ces commandes sont enregistrées dans le fichierKernel.php dans le même répertoire.
Vous pouvez également créer le calendrier des tâches pour la commande définie par l'utilisateur comme indiqué dans le code suivant -
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel {
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
// Commands\Inspire::class,
Commands\DefaultCommand::class
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule) {
// $schedule->command('inspire')
// ->hourly();
}
}
Notez que le calendrier des tâches pour la commande donnée est défini dans la fonction nommée schedule, qui comprend un paramètre de planification des tâches qui prend hourly paramètre.
Les commandes sont enregistrées dans le tableau de commandes, qui comprend le chemin et le nom des commandes.
Une fois la commande enregistrée, elle est répertoriée dans les commandes Artisan. Les valeurs incluses dans la section de signature et de description seront affichées lorsque vous appelez l'attribut help de la commande spécifiée.
Voyons comment visualiser les attributs de notre commande DefaultCommand. Vous devez utiliser la commande comme indiqué ci-dessous -
php artisan help DefaultCommand