こんな悩みを解決します。
こんにちは、学生フリーランスエンジニアのいのうえ(@inouelog)です!
Laravelで開発しているときにファイルに名前をつけることが多々ありますが、命名規則に従わないとそもそも動作しなかったり、ファイル名に統一感が無くごちゃごちゃしてしまいます。
この記事では、Laravelの命名規則で厳密に守るべきものから作法的なものまで解説します。
なぜそう命名するのか分からない!という方も、以下で紹介する規則に従えばとりあえずOKです。
Laravelの命名規則を解説
次のファイルの命名規則を解説します。
テーブル(table)
例:menus
menu_prices
- 全て小文字の複数形
- 2単語以上を組み合わせた名前にする場合は、最後に来る単語だけ複数形【単数形_複数形】
- リレーション先のidをカラムに含める場合は、【リレーション先のテーブル名の単数形_id】
また、多対多でリレーションしているテーブルの中間テーブルは、
例:menu_tag
- テーブル名の単数形_テーブル名の単数形
- 必ずリレーション先のidをカラムに含め、その名前は、【リレーション先のテーブル名の単数形_id】
ちなみに、このように単語と単語の間をアンダースコア( _ )で区切る記述方法をスネークケースと言います。
マイグレーション(migration)ファイル
例:XXXX_create_menus_table
XXXX_add_title_to_menus_table
※XXXXには作成年月日時が入ります。
- テーブルを作成するときは、XXXX_create_テーブル名_table
- カラムを追加するときは、XXXX_add_カラム名_to_テーブル名_table
コマンドでマイグレーションファイルを作成するときは、
// テーブルを作成するとき
php artisan make:migration create_menus_table --create=menus
// カラムを追加するとき
php artisan make:migration add_title_to_menus_table --table=menus
最後の【–create=テーブル名】、【–table=テーブル名】を忘れないように注意しましょう。
モデル(Model)
例:Menu
MenuPrice
- 先頭の文字は大文字で、テーブル名の単数形
- 2単語以上を組み合わせた名前にする場合は、先頭の文字は大文字でつなげて【単数形+単数形】
ちなみに、このように各単語の先頭の文字を大文字にしてつなげる記述方法をアッパーキャメルケースと言います。
コマンドでモデルを作成するときは、
php artisan make:model Menu
マイグレーションファイルとモデルを同時に作成する方法もあります。
シーダ(Seeder)
例:MenusTableSeeder
- アッパーキャメルケースで【テーブル名の複数形+TableSeeder】
コマンドでシーダファイルを作成するときは、
php artisan make:seeder MenusTableSeeder
コントローラ(Controller)
例:MenusController
- アッパーキャメルケースで【モデル名の複数形+Controller】
コマンドでコントローラを作成するときは、
php artisan make:controller MenusController
実際の開発では、1つのコントローラで複数モデルを扱う場合もあるので、メインで扱うモデル名を指定すれば良いでしょう。
ビュー(view)
例:menus_index
- スネークケース
- 命名規則ではないが、拡張子は【blade.php】
上記の例だとファイル名が長く、ファイル数が増えると管理しにくいので、テーブル名のフォルダにファイルを格納することも多いです。
例:menus/index.blade.php
Laravelの命名規則 まとめ
Laravel開発で主に使うファイルの命名規則を解説しました。
開発している途中で「ファイル名どうしよう…?」とならないように、基本的な知識として知っておくと良いでしょう。
以上、『Laravelの命名規則を徹底解説【主要ファイル網羅】』でした。