Laravelの開発を進める中で、何かを作ったり動かしたりするたびに登場するのが php artisan
コマンドです。
最初のうちは「とりあえずコマンドを打てば動くけど、実際に何をしているのかよく分からない…」という場面もあるかもしれません。
この記事では、Laravel開発でよく使うArtisanコマンドを目的別にピックアップしながら、「これは覚えておくと便利」という定番を中心に解説していきます。
この記事を読むとわかること
- Laravel初学者向け、Artisanコマンドの基本的な使い方
- 開発フェーズ別に整理した「よく使うコマンド」の一覧
- コマンドの活用で開発効率を上げる実践的なヒント
LaravelのArtisanコマンドとは何か
Laravelを使い始めてまず戸惑ったのが、この「Artisan」という存在でした。
php artisan list
を実行して出てくるコマンドの多さに、正直うんざりした記憶があります。なにが必須で、なにが補助的なのか、初見ではまったく判断できませんでした。
ArtisanはLaravelのCLI(コマンドラインインターフェース)で、開発を助けてくれるツール群です。プロジェクトの初期設定から、ルーティング確認、マイグレーション、デバッグやデプロイ補助まで、さまざまな工程をカバーしています。
全部を覚える必要はありませんが、最低限のコマンドに慣れることで開発効率は一気に上がります。
Artisanでできることの全体像
ざっくり言えば、Artisanは以下のようなことを自動化・簡略化してくれます:
- コード生成(モデル、コントローラー、リクエストなど)
- マイグレーションやシーディング
- ルートや設定の確認
- キャッシュ操作やメンテナンス管理
- テスト・デバッグ支援
この“コマンド一発で整う感覚”が、Laravelの開発体験を大きく支えているポイントでもあります。
開発初期に覚えたい基本コマンド一覧
まずは、Laravelのプロジェクトを立ち上げて間もない段階でよく使うコマンドを、用途別に整理して紹介します。
プロジェクト作成直後によく使うコマンド
コマンド | 説明 |
---|---|
php artisan serve | ローカルサーバーを起動 |
php artisan config:cache | 設定ファイルをキャッシュ |
php artisan route:list | ルート一覧を表示(確認用) |
serve
は開発を始めるときに常に使う基本コマンドです。route:list
はルーティングの動作確認時に非常に便利です。
モデルやコントローラーを作るmake系
コマンド | 説明 |
---|---|
php artisan make:model Post | Postモデルを生成 |
php artisan make:controller PostController | コントローラーを生成 |
php artisan make:request StorePostRequest | バリデーション用クラスを生成 |
Laravelは「スキャフォールディング(雛形生成)」が強力で、make系コマンドを覚えるだけでコードのベースがすぐに整います。
ルーティングやマイグレーション関連
コマンド | 説明 |
---|---|
php artisan make:migration create_posts_table | マイグレーションファイルを作成 |
php artisan migrate | マイグレーションを実行 |
php artisan migrate:refresh | マイグレーションのリセット&再実行 |
テーブル構造の調整やDBの初期化には頻出します。特にmigrate:refresh
は開発初期に重宝します。
用途別に整理したArtisanコマンド一覧
ここでは、開発フローに沿って「よく使う」「知っておくと便利」なArtisanコマンドを分類して一覧にしています。
開発中に頻繁に使うコマンド
コマンド | 用途 |
---|---|
php artisan serve | ローカルサーバー起動 |
php artisan migrate | マイグレーション実行 |
php artisan db:seed | テストデータ投入 |
php artisan route:list | ルート一覧表示(デバッグ用途) |
コードを書いている最中、あるいは確認作業をするときに、自然と指が動くコマンド群です。
デバッグや確認に便利なコマンド
コマンド | 説明 |
---|---|
php artisan tinker | 対話型シェルでモデルやDBを操作可能 |
php artisan config:clear | 設定キャッシュのクリア |
php artisan cache:clear | 全キャッシュのクリア |
tinker
は「このモデルどうなってるんだっけ?」というときにすぐ確認できるので、個人的には手放せません。
デプロイや運用時に使うコマンド
コマンド | 用途 |
---|---|
php artisan down | メンテナンスモードに切り替え |
php artisan up | メンテナンスモード解除 |
php artisan optimize | パフォーマンス向上の最適化処理 |
本番リリース時の定型作業に組み込まれることが多いコマンドたちです。
実際に使って便利だったコマンドTips
ここでは、Laravel開発の中で「これ知ってて助かった」「使いこなすと時短になる」コマンドを目的別に紹介します。
フォームリクエストの生成(バリデーション分離)
php artisan make:request StorePostRequest
コントローラー内にバリデーションを書くと処理が混在して読みにくくなります。
このコマンドで生成されるFormRequestクラスに切り出せば、ルールも認可も1箇所にまとめられ、保守性がぐっと向上します。
モデル+マイグレーション+コントローラーの一括生成
php artisan make:model Post -mcr
モデルだけでなく、マイグレーションとREST対応のコントローラーまで一気に生成できます。
CRUD機能のベースをサクッと立ち上げたいときに便利です。
さらに全部作るなら -a
オプションで一括生成
php artisan make:model Product -a
-a
を使うと、マイグレーション・ファクトリ・シーダ・コントローラー・ポリシーまでまとめて作ってくれます。新しいドメインモデルを作るときの初期セットアップに最適です。
データベースを初期化+シーディング
php artisan migrate:fresh --seed
マイグレーションを全てやり直して、データベースをクリーンな状態に初期化します。
開発中にテーブル構造を大きく変更したときなどに頻繁に使います。
単一のマイグレーションファイルだけを適用
php artisan migrate --path=database/migrations/2024_05_31_123456_create_orders_table.php
全体をやり直さずに、特定のマイグレーションファイルだけを個別で適用したいときに便利です。
チーム開発でも意外と重宝される使い方です。
ルート一覧の表示と絞り込み
php artisan route:list
php artisan route:list --name=admin
現在登録されている全ルートの情報を確認できます。
特定の名前空間だけを絞り込みたいときは --name
オプションが便利です。
イベント&リスナーの生成
php artisan make:event OrderShipped
php artisan make:listener SendShippingNotification --event=OrderShipped
イベントとそれに対応するリスナーを分離して処理できるようになります。
通知やログ処理を疎結合にしたい場面でよく使います。
テストクラスの生成
php artisan make:test PostControllerTest
Featureテストやユニットテスト用のテストクラスを生成します。--unit
を付ければユニットテスト用として作成可能です。
Policyの生成(認可処理)
php artisan make:policy PostPolicy --model=Post
ポリシーを定義することで、細かいアクセス制御をControllerから切り離せます。authorize()
との組み合わせで読みやすく安全なコードになります。
ジョブの生成(非同期処理)
php artisan make:job SendEmailJob
バッチやメール送信など、処理をバックグラウンドで行いたいときに使うジョブクラスを生成します。
Queueとの連携もスムーズに進められます。
これらのコマンドは、すべてを覚える必要はありません。
ただ、「あれどうやるんだっけ?」と思ったときに コマンドを知っている or 検索できるだけで作業スピードが大きく変わります。
php artisan list
php artisan help コマンド名
というヘルプ系コマンドも一緒に使いながら、少しずつ自分の開発スタイルに馴染ませていくのがコツです。
まとめ:最初の一歩はコマンドに慣れることから始まる
LaravelのArtisanコマンドは、全体を網羅するよりも、まずは基本的なコマンドを厳選して慣れるのが効率的です。
開発中やデバッグ時など、場面に応じた使い分けが自然と身につけば、Laravelの開発体験はグッと快適になります。私自身、「これは便利だ」と思えるコマンドを少しずつ覚えていくことで、作業のスピードもミスの減少も実感できました。
最初のうちは深く考えすぎず、少しずつ「これは便利だな」と感じるコマンドから覚えていくと、無理なく馴染めると思います。