LaravelArtisanコンソールのビギナーズガイド

Artisanは、Laravelがアプリケーションにアクセスするために使用するコマンドラインツールです。それはあなたの開発プロセスを大いに容易にすることができる多くのコマンドを提供します。

だから、それが何ができるのか、そしてそれを始める方法を知りたいのなら、これはあなたのためのガイドです。 LaravelでArtisanコンソールを使用する方法について知っておく必要があるすべてがここにあります。

入門

ターミナルで、Laravelアプリケーションのディレクトリに以下のコマンドを入力します。

 $ php artisan list

使用可能なコマンドのリストが表示されます。

コマンドを使用する場合は、コマンドの前にヘルプオプションを付けて、使用可能な引数とオプションを表示できます。ターミナルは、右側に彼らが何をするかについての簡単な説明を表示します。

 $ php artisan --help serve

ヒント:ほとんどのコマンドラインアクションと同様に、構文は次のとおりです。command[options] [arguments]

いじくり回す

Tinkerは、Laravelが使用するREPL(またはインタラクティブシェル)です。 「read-eval-printloop」(REPL)は、単一のユーザー入力を受け取り、それらを処理して、結果をユーザーに返すプログラミング環境です。

TinkerをPythonインタープリターの使用と比較できますが、TinkerはLaravel用にカスタムメイドされています。

この特定の環境には、ファイルを頻繁に書き込むことなくシステムで簡単なテストを簡単に実行できるなど、多くの利点があります。

注: Laravel Sailを使用している場合は、 sailコマンドを追加すると、アプリケーションのDockerコンテナー内で命令が実行されます。

 $ ./sail artisan list

Tinkerのインストール方法

デフォルトでは、LaravelアプリにはTinkerが付属しています。以前にアンインストールしたことがある場合は、 composerを使用して再度追加できます。

 $ composer require laravel/tinker

コマンドの入力

Tinkerを使用すると、アプリケーション全体を操作できます。 Tinkerの使用を開始するには、次のように入力します。

 $ php artisan tinker

次に、いじくり回すシェルで迎えられます。

関連:これらの9つの関数を使用してPHPでテキストを操作する方法

Tinkerには、シェルで実行できるコマンドを決定するコマンド許可リストがあります。このリストを展開するには、 tinker.phpを含む/ vendor / laravel / tinker / configディレクトリに移動します。

このファイルを好みのテキストエディタで編集して、コマンドを追加できます。

 'commands' => [
// AppConsoleCommandsExampleCommand::class,
],

独自のコマンドの定義

デフォルトの職人コマンドとは別に、独自のコマンドを作成できます。作成時に、コマンドはapp / Console / Commandsディレクトリに自動的に保存されます。

新しいLaravelプロジェクトでは、 / Commandディレクトリは表示されません。これは正常です。新しいコマンドを定義すると、フォルダーは自動作成されます。以下のコマンドを生成する方法を参照してください。

コマンドの作成

コマンドの署名とクラスの説明を定義します。コマンドのクラスファイルでは、引数も定義します。この例を見てください:

 $ php artisan make:command GetDailySales

以下のファイルは、実行時に自動生成されます。コマンドの実行時に呼び出されるため、コマンドロジックをhandleメソッドに配置できます。

 
<?php
namespace AppConsoleCommands;
use IlluminateConsoleCommand;
class GetDailySales 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
*/
publicfunction__construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return int
*/
publicfunctionhandle()
{
return0;
}
}

閉鎖コマンド

コントローラを使用する代わりに、クロージャコマンドを対比して、ルートクロージャを定義できます。同様に、コマンドクラスを作成する代わりに(「コマンドの作成」セクションで行ったように)、コマンドクロージャを使用することができます。

ここでの利点は、管理するファイルが少なくなり、ロジックを簡単に理解できることです。

続きを読む:高水準プログラミング言語と低水準プログラミング言語、説明

Kernel.phpファイルは、アプリケーションへのコンソールルートを定義します。このファイルのArtisan :: commandメソッドを使用して、すべてのクロージャコンソールコマンドを定義できます。コマンドは、コマンド署名と、コマンドを割り当てるクロージャの2つの引数を取ります。

 Artisan::command('report:get {day}', function ($day) {
$this->info("Generating report for: {$day}!");
});

タイプヒントの依存関係

タイプヒントとは、関数が返すデータ型または引数がとるデータ型を静的に定義することです。コマンドクロージャは、サービスコンテナから取得する必要のある依存関係をタイプヒントすることもできます。

コマンドクロージャの説明

コマンドクロージャに説明を追加するには、 purpose()メソッドを使用します。

 
Artisan::command('text:send {user}', function ($user) {
// ...
})->purpose('Send sms text to a user');

コマンドと機能の完全なリストは、 Laravelのドキュメントで確認できます。

詳細Laravel

Laravelには、強力な開発者コミュニティと公式サイトからのよく書かれたドキュメントがあります。これは、行き詰まったときに助けを見つける場所が不足することは決してないことを意味します。

職人のコンソールで練習を続けると、コマンドがいかに強力で時間の節約になるかがわかります。ただし、Laravelは職人のコンソールだけではありません。

Laravel 8は、Web開発ゲームを強化するための多数の新機能を導入しています。