LoginSignup
28
32

More than 5 years have passed since last update.

LaravelでArtisanコマンドをCLI以外から(PHPファイルから)実行する

Posted at

Laravelでアプリケーションを作っていて、メールを送信するArtisanコマンドを作成したのですが、
何故かCLIからコマンド実行すると、メールテンプレートに表示する画像にアクセス出来ない、というエラーが出ました。

そのため、テスト用にメール送信ボタンを作り、ボタンをクリックするとメール送信用のコマンドが実行されるようにしました。

その時に、コントローラーからArtisanコマンドを実行する方法を調べたのでメモしておきます。

結論(コード)

コマンドに渡すパラメータが無ければ以下ようなコードをコントローラー等コマンドを実行したい場所に記述すればOK.

use Artisan;//エイリアスに登録しいる場合
//use Illuminate\Support\Facades\Artisan;//エイリアスに登録して無い場合

Artisan::call('matching:email');//matching:emailはコマンド名

コマンドにパラメータを渡したければ以下のようにパラメータ名と値の配列を第2引数に渡します。

Artisan::call('matching:email',['param1'=> 'value1','param2'=>'value2',...]);

参考

リファレンス
https://readouble.com/laravel/5.4/ja/artisan.html

28
32
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
32