未分類

【Laravel8.x】 カスタムコマンドを使う ユーザー入力の受け付け方

勉強にお勧めの本

書籍でプログラミングの勉強をするのはすばらしい選択しです。独学でまずは何から始めたらいいかわからないときは書籍で勉強してみましょう。

前回はカスタムコマンドを作成して「Hello World!」表示させることができました。

今回はユーザーへの入力を促し、その結果で処理を分岐させてみようと思います。

前回作成したコマンドをそのまま使うのでこちらを先に見てくださいね。

質問して値を入力してもらう

あなたの名前は何ですか?という風に名前を入力してもらいたいときはaskメソッド を使用します。

名前を聞いて入力された値を出力するコード

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;

class TestCommand extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    //protected $signature = 'command:name'; ここを変更する。
    protected $signature = 'test:command';

    /**
     * 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 int
     */
    public function handle()
    {
        $user_name = $this->ask('あなたの名前は何ですか?');
        $this->info('こんにちは! ' . $user_name);
        
        return 0;
    }
}

-未分類