Artisanコマンド(早見表)

2022/05/31

Artisan とは Laravel 専用のコマンドです。

アーティザンと読み、『職人』という意味だそうです。

Artisan コマンドを実行すると Laravel のコントローラやモデルのひな形の作成、マイグレーションの実行など行えます。

Windows 上で実行するならコマンドプロンプトで操作します。

Artisan コマンドは、Laravel プロジェクトのルートディレクトリで実行します。


cd C:\xampp\htdocs\ { Laravelプロジェクト }
php artisan { artisanコマンド }

 
INDEX

Laravelのバージョン確認


$ php artisan --version
$ php artisan -v

 

make系

【 構文 】


$ php artisan make:作りたい種類 ファイル名 --オプション

 

コントローラの作成

MVCモデルのコントローラにあたる部分を作成します。


php artisan make:controller HogeController

# ディレクトリ作成
php artisan make:controller Auth/HogeController

チェックコントローラーの名前の付け方
キャメル記法で記述します。例)user + parameter ⇒ UserParameter

コントローラに関する詳しい説明はこちら

 

モデルの作成

MVC モデルのMにあたる部分です。


php artisan make:model Foo

チェックモデルの名前の付け方
単数形 + キャメル記法 例)User

モデルに関する詳しい説明はこちら

 

マイグレーションファイルの作成

マイグレーションとは、データベースのテーブルやカラムの追加や変更の定義を管理することを指します。


php artisan make:migration create_foo_table

チェックテーブルの名前の付け方
スネーク記法 + 複数形 例)users , access_rankings

マイグレーションに関する詳しい説明はこちら

 

マイグレーションの実行

マイグレーションを実行するとマイグレーションファイルが反映されデータベースにテーブルが作成されます。


php artisan migrate

マイグレーションに関する詳しい説明はこちら

 

フォームリクエストの作成

フォームリクエストを作成します。


php artisan make:request FooRequest

チェックフォームリクエストの名前の付け方
キャメル記法 + 単数形 例)CheckUserRequest.php

フォームリクエストに関する詳しい説明はこちら

 

シーダーの作成

サンプルデータを入れることをシーダーといいます。


php artisan make:seeder UsersTableSeeder

 

サービスプロバイダの作成

サービスプロバイダのスケルトンを作成します。

サービスプロバイダはオリジナルのクラスをファサードをとして定義する際に作成します。


php artisan make:provider UtilityServicePorvider

 

ミドルウェアの作成

コマンドを実行すると app/Http/Middleware ディレクトリの中に生成されます。


# AdminAuthenticate という名前でミドルウェアを作成
php artisan make:middleware AdminAuthenticate

 

マイグレーション系

マイグレーション実行

作成したマイグレーションを実行してテーブルを新規作成します。


$ php artisan migrate

#------------------------------------------------
# エラーが出たら一度下記のコマンドを実行してみる
# 実行する前にオートロードを実行するといい
#------------------------------------------------
$ composer dump-autoload

テーブルの定義を変更したい場合は?

一度実行したマイグレーションファイルは php artisan migrate で再実行されることがありません。
テーブル定義変更用のマイグレーションファイルを別途作り、再度 php artisan migrete を実行します。

 

マイグレーションファイルの作成

テーブル作成・変更用のマイグレーションファイルが作成されます。


# 書式
php artisan make:migration {テーブル名}_table

# 新規作成
php artisan make:migration create_users_table
# 編集
php artisan make:migration change_users_table

オプションについて

オプションをつけることで、テーブル名を含んだ雛型のマイグレーションファイルが作成されます。

テーブルの新規作成の場合

php artisan make:migration create_users_table --create=users

 

テーブルの編集の場合

php artisan make:migration change_users_table --table=users

 

ステータス

マイグレーションファイルと実行状況を見ることができます。


php artisan migrate:status

 
実行結果


+------+----------------------------------------+
| Ran? | Migration                              |
+------+----------------------------------------+
| Y    | 2018_08_08_155034_create_users         |
| Y    | 2018_08_08_155046_add_column_to_users  |
| Y    | 2018_08_17_155520_add_column2_to_users |
| N    | 2018_08_17_155811_add_column3_to_users |
+------+----------------------------------------+

 

ロールバック

一つ前のマイグレーション操作に戻します。


$ php artisan migrate:rollback

# 全部ロールバックしてからマイグレーションし直す
# マイグレーションに失敗したら使ってみる
# ただし、テーブルの中身は空になるので注意!
$ php artisan migrate:refresh

ポイント

実行したマイグレーションファイルは migratinos テーブルで管理されています。batchカラムで制御しています。


mysql> select * from migrations;
+----------------------------------------+-------+
| migration                              | batch |
+----------------------------------------+-------+
| 2018_08_08_155034_create_users         |     1 |
| 2018_08_17_155520_modify_users         |     1 |
| 2018_08_17_155811_modify_users2        |     2 |
+----------------------------------------+-------+

 

リフレッシュ

DBを全てロールバックし、再度全マイグレーションを実行する。(データはすべて消去される。)


$ php artisan migrate:refresh

 

リセット

全てのマイグレーションをロールバックする。


$ php artisan migrate:reset


 

キャッシュクリア系

【 キャッシュをクリア(強力 】
「キャッシュをクリアしたのに反映されない!」という方は以下のコマンドをコピペして実行してみてください。


php artisan cache:clear; php artisan config:clear; php artisan route:clear; php artisan view:clear; composer dump-autoload

キャッシュをクリア

.envファイル や 設定データ(config/app.php)を編集したらキャッシュをクリアにして変更内容を反映させます。
また、マイグレーションを実行して DB の構成を変更したときもこのコマンドを利用します。


php artisan config:cache

config:cache は Laravel の速度改善にもなります。その他にはroute:cacheも速度改善になります。

php artisan config:cacheコマンドはキャッシュを作成するコマンドですが、その前にキャッシュのクリアもします。
 

 

Viewキャッシュクリア

Laravel で View の変更が反映されないことがたまにあります。そんな時はこれ


php artisan view:clear

 

make系以外

メンテナンスモード

Laravelではデフォルトでメンテナンスモードが装備されています。

メンテナンスモードの実行

php artisan down

 

メンテナンスモード ⇒ 通常モード

php artisan up

 

シーダーの作成&実行


# シーダーファイルの作成
php artisan make:seeder UsersTableSeeder

#------------------------------------------------
# シーダー実行する前にオートロードを実行するといい
#------------------------------------------------
composer dump-autoload

# シーダーの実行
php artisan db:seed

# オプションで --class を使えば特定のシーダーだけ実行される
php artisan db:seed --class=UsersTableSeeder

 

最適化

手動でコントローラを生成したり、リネームした場合は実行してみます。


php artisan optimize

 

ルーティングをキャッシュ

app/routes.php に記述する、routeingに関する設定をキャッシュしてくれるものです。


php artisan route:cache

route:cache はLaravel の速度改善にもなります。その他にはconfig:cache があります。

 

アプリケーションキー(APP_KEY)の設定

.env ファイルの APP_KEY をセットします。

.env.exampleをコピーするなどして、.envを手動で作成する場合には、手動でコマンドを実行してアプリケーションキーを作成しないといけません。


$ cp .env.example .env
$ php artisan key:generate

 

Laravel 付属のサーバー起動

PHP ビルトインサーバーの起動です。

ローカル環境でプロジェクトをWebアプリケーションとして起動することができます。


php artisan serve --port=8080

チェック【 サーバを終了したいときは? 】
Ctr + c

 

ルート一覧

設定されているルートの確認です。


php artisan route:list

 

Tinkerについて

Laravelでデフォルトで用意されているツールです。Tinker を使うとメールのテスト送信ができたり、コマンドラインからデータベースに直接働きかけることができます。artisanコマンドで起動します。


# tinkerの起動
php artisan tinker

# メール送信
# 事前に.envファイルにsmtpサーバの設定が必要
Mail::raw('メール本文', function($message) { $message->to('送信先メールアドレス')->subject('メールタイトル'); });

### データベーステスト(Eloquent)
# Userテーブルのレコード全て表示
User::all()

# UserテーブルのID=1のレコードのみ表示
$user = User::find(1)

tinker を終了させる場合は exit コマンドでOKです。

 
Aratisanコマンドに関しては以上です。

本庄マサノリ

仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら

>> Twitter をフォローする

 

-環境構築