Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What are the problem?

posted at

updated at

Organization

laravel6 バッチを作って実行してみる

目的

  • laravel6のアプリでバッチを作成し、実行する方法をまとめる。

実施環境

  • ハードウェア環境
項目 情報
OS macOS Catalina(10.15.5)
ハードウェア MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)
プロセッサ 2 GHz クアッドコアIntel Core i5
メモリ 32 GB 3733 MHz LPDDR4
グラフィックス Intel Iris Plus Graphics 1536 MB
  • ソフトウェア環境
項目 情報 備考
PHP バージョン 7.4.8 Homebrewを用いてこちらの方法で導入→Mac HomebrewでPHPをインストールする
Laravel バージョン 6.X commposerを用いてこちらの方法で導入→Mac Laravelの環境構築を行う
MySQLバージョン 8.0.19 for osx10.13 on x86_64 Homwbrewを用いてこちらの方法で導入→Mac HomebrewでMySQLをインストールする

条件

  • laravel6のアプリがありローカルサーバなどを起動しブラウザから確認する事ができること。

情報

  • バッチの実行方法は手動でコマンドを叩いて実行するものとする。
  • バッチの作成と手動実行の方法をまとめることが目的のためバッチの内部で実行する処理は最低限とし「Hello Japan!」をターミナルに表示するだけのものとする。

概要

  1. バッチの作成
  2. 実行と確認

詳細

  1. バッチの作成

    1. アプリ名ディレクトリで下記コマンドを実行してバッチクラスを作成する。

      $ php artisan make:command EchoStrCommand
      
    2. アプリ名ディレクトリで下記コマンドを実行して作成したバッチクラスが記載されているファイルを開く。

      $ vi app/Console/Commands/EchoStrCommand.php
      
    3. 開いたファイルを下記のように修正する。

      アプリ名ディレクトリ/app/Console/Commands/EchoStrCommand.php
      <?php
      
      namespace App\Console\Commands;
      
      use Illuminate\Console\Command;
      
      class EchoStrCommand extends Command
      {
          /**
           * The name and signature of the console command.
           *
           * @var string
           */
          // 下記を修正
          protected $signature = 'command:echo_str';
      
          /**
           * The console command description.
           *
           * @var string
           */
          // 下記を修正
          protected $description = 'Echo Hello Japan!';
      
          /**
           * Create a new command instance.
           *
           * @return void
           */
          public function __construct()
          {
              parent::__construct();
          }
      
          /**
           * Execute the console command.
           *
           * @return mixed
           */
          public function handle()
          {
              //下記を追記
              echo 'Hello Japan!'."\n";
          }
      }
      
  2. 実行と確認

    1. アプリ名ディレクトリで下記コマンドを実行し出力結果の中に「command:echo_str」が存在していることを確認する。

      $ php artisan list
      
    2. アプリ名ディレクトリで下記コマンドを実行する。

      $ php artisan command:echo_str
      
    3. 下記のようにターミナル上に「Hello Japan!」の文字が表示されることを確認する。

      EchoStrCommand_php_—_laravel6.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
1
Help us understand the problem. What are the problem?