Laravel-artisan-console
Laravel-職人コンソール
Laravelフレームワークは、コマンドラインを介した相互作用のための3つの主要なツール、すなわち Artisan、Ticker および REPL を提供します。 この章では、Artisanについて詳しく説明します。
職人の紹介
Artisanは、Laravelで頻繁に使用されるコマンドラインインターフェイスであり、Webアプリケーションの開発に役立つ一連のコマンドが含まれています。
例
以下は、Artisanのいくつかのコマンドとそれぞれの機能のリストです-
- Laravelプロジェクトを開始するには*
php artisan serve
キャッシングメカニズムを有効にするには
php artisan route:cache
- Artisanでサポートされている使用可能なコマンドのリストを表示するには*
php artisan list
コマンドに関するヘルプを表示し、利用可能なオプションと引数を表示するには
php artisan help serve
次のスクリーンショットは、上記のコマンドの出力を示しています-
コマンドを書く
Artisanにリストされているコマンドに加えて、ユーザーはWebアプリケーションで使用できるカスタムコマンドを作成することもできます。 コマンドは* app/console/commandsディレクトリ*に保存されることに注意してください。
ユーザー定義のコマンドを作成するためのデフォルトのコマンドは以下に示されています-
php artisan make:console <name-of-command>
上記のコマンドを入力すると、以下のスクリーンショットに示すように出力を確認できます-
*DefaultCommand* 用に作成されたファイルは *DefaultCommand.php* と名付けられ、以下に示されています-
<?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() {
//
}
}
このファイルには、ユーザーが定義したコマンドの署名と説明が含まれています。 handle という名前のパブリック関数は、コマンドの実行時に機能を実行します。 これらのコマンドは、同じディレクトリの Kernel.php ファイルに登録されます。
また、次のコードに示すように、ユーザー定義コマンドのタスクのスケジュールを作成することができます-
<?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();
}
}
特定のコマンドのタスクのスケジュールは、 schedule という名前の関数で定義されていることに注意してください。この関数には、 hourly パラメーターを取るタスクをスケジュールするパラメーターが含まれています。
コマンドはコマンドの配列に登録され、コマンドのパスと名前が含まれます。
コマンドが登録されると、Artisanコマンドにリストされます。 指定したコマンドのヘルプ属性を呼び出すと、署名および説明セクションに含まれる値が表示されます。
コマンド DefaultCommand の属性を表示する方法を見てみましょう。 次のようにコマンドを使用する必要があります-
php artisan help DefaultCommand