Laravel-職人コンソール

Laravelフレームワークは、コマンドラインを介した対話のための3つの主要なツールを提供します。 Artisan, Ticker そして REPL。この章では、職人について詳しく説明します。

職人の紹介

Artisanは、Laravelで頻繁に使用されるコマンドラインインターフェイスであり、Webアプリケーションを開発するための便利なコマンドのセットが含まれています。

Artisanのいくつかのコマンドとそれぞれの機能のリストを次に示します-

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

次のスクリーンショットは、上記のコマンドの出力を示しています-

コマンドの記述

Artisanにリストされているコマンドに加えて、ユーザーはWebアプリケーションで使用できるカスタムコマンドを作成することもできます。コマンドはに保存されることに注意してくださいapp/console/commands directory

ユーザー定義コマンドを作成するためのデフォルトコマンドを以下に示します-

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コマンドにリストされます。指定したコマンドのhelp属性を呼び出すと、署名と説明のセクションに含まれる値が表示されます。

コマンドの属性を表示する方法を見てみましょう DefaultCommand。以下に示すコマンドを使用する必要があります-

php artisan help DefaultCommand