laravel
artisan

LaravelのArtisanで作成することのできるクラスのテンプレート

はじめに

Laravelを使っています。
コントローラ、モデル、辺りまでは分かるのですが、フォームリクエスト、サービスコンテナ、サービスプロバイダー…、となるとよくつかめなかったりします。

LaravelではCakePHPでいうところのbakeのような機能がartisanにて提供されています。
そのリストを調べてまとめてみました。

$ php artisan make
make               make:job           make:model         make:seeder
make:auth          make:listener      make:notification  make:test
make:command       make:mail          make:policy
make:controller    make:middleware    make:provider
make:event         make:migration     make:request
名前 作成されるもの 説明
auth ルートとビュー ログインと登録用のスキャフォルドを作成します。
command artisanコマンド用ファイル 自前でartisanを作成できます。
controller コントローラ ルートから受けるところです。
event イベント イベント発火周りを書きます。リスナで受けます。
job ジョブ キューで処理するための行うための単位、ジョブを書きます。
listener リスナ 発火したイベントに対応する処理を書きます。
mail メールクラス メール。
middleware ミドルウェア 処理の途中にフックさせる処理を書きます。
migration マイグレーション 開発したDB構成の差分を書きます。
model モデル モデルクラスを作成します。-mでマイグレーションもセットで作れます。
notification 通知 通知系のクラスです。SMSやメール、Slackもサポートされています。
policy ポリシー モデルを取りまとめたり制約を書きます。
provider サービスプロバイダ コンテナ、ルートの起動や登録を書きます。
request リクエスト リクエスト処理をまとめた処理を書きます。
seeder シーダー DBに入れる初期値セットを作成する処理を書きます。
test テスト ユニットテスト、ブラウザテストの処理を書きます。

感想

使ったことあるクラス、全然使ったこと無いクラスも結構ありますね。
ジョブ、イベント、リスナ周りはどうやって使ったらよいかまだつかめてません。機会があったら使ってみます。

参考

http://qiita.com/bmf_san/items/e96bb3533de0792f9382
http://qiita.com/zaburo/items/e8e786624f88c253c87d
http://qiita.com/nunulk/items/edb12902d609ca53187a
https://laravel.com/docs/5.4/authorization#generating-policies
https://laravel.com/docs/5.4/requests
https://laravel.com/docs/5.4/queues#generating-job-classes