🙌
Laravel 命名規則一覧まとめ
1. クラス・ファイル関連
| 対象 | 命名規則 | 良い例 | 悪い例 |
|---|---|---|---|
| コントローラ | 単数形 | ✅ ArticleController
|
❌ ArticlesController
|
| モデル | 単数形 | ✅ User
|
❌ Users
|
| マイグレーション | 規則に則った名称 | ✅ 2017_01_01_000000_create_articles_table
|
❌ 2017_01_01_000000_articles
|
| FormRequest | 単数形(動作内容を明示) | ✅ UpdateUserRequest
|
❌ UpdateUserFormRequest, UserFormRequest
|
| Seeder | 単数形 | ✅ UserSeeder
|
❌ UsersSeeder
|
| 契約(インターフェイス) | 形容詞または名詞 | ✅ AuthenticationInterface
|
❌ Authenticatable, IAuthentication
|
| Trait | 形容詞(シンプルに) | ✅ Notifiable
|
❌ NotificationTrait
|
| Trait (PSR準拠) | adjective(末尾にTraitを付ける) |
✅ NotifiableTrait
|
❌ Notification
|
| Enum | 単数形 | ✅ UserType
|
❌ UserTypes, UserTypeEnum
|
2. ルート・ビュー・設定関連
| 対象 | 命名規則 | 良い例 | 悪い例 |
|---|---|---|---|
| ルート | 複数形 | ✅ articles/1
|
❌ article/1
|
| 名前付きルート | スネークケース+ドット表記 | ✅ users.show_active
|
❌ users.show-active, show-active-users
|
| ビュー | ケバブケース(ハイフン区切り) | ✅ show-filtered.blade.php
|
❌ showFiltered.blade.php, show_filtered.blade.php
|
| コンフィグファイル | スネークケース | ✅ google_calendar.php
|
❌ googleCalendar.php, google-calendar.php
|
| 設定/言語ファイルのインデックス | スネークケース | ✅ articles_enabled
|
❌ ArticlesEnabled, articles-enabled
|
3. データベース関連
| 対象 | 命名規則 | 良い例 | 悪い例 |
|---|---|---|---|
| テーブル | 複数形 | ✅ article_comments
|
❌ article_comment, articleComments
|
| Pivotテーブル | 単数形(両モデル名をアルファベット順で連結) | ✅ article_user
|
❌ user_article, articles_users
|
| テーブルカラム | スネークケース(モデル名は含めない) | ✅ meta_title
|
❌ MetaTitle, article_meta_title
|
| 外部キー | 単数形+_id(対象モデル名の単数形を利用) |
✅ article_id
|
❌ ArticleId, id_article, articles_id
|
| 主キー | 基本は id を使用 |
✅ id
|
❌ custom_id
|
4. リレーション
| 対象 | 命名規則 | 良い例 | 悪い例 |
|---|---|---|---|
| hasOne / belongsTo 関係 | 単数形 | ✅ articleComment
|
❌ articleComments, article_comment
|
| その他のリレーション | 複数形 | ✅ articleComments
|
❌ articleComment, article_comments
|
5. メソッド・変数・テスト関連
| 対象 | 命名規則 | 良い例 | 悪い例 |
|---|---|---|---|
| メソッド | キャメルケース | ✅ getAll
|
❌ get_all
|
| リソースコントローラのメソッド | フレームワーク定義済みの名称 | ✅ store
|
❌ saveArticle
|
| テストクラスのメソッド | キャメルケース | ✅ testGuestCannotSeeArticle
|
❌ test_guest_cannot_see_article
|
| 変数 | キャメルケース | ✅ $articlesWithAuthor
|
❌ $articles_with_author
|
| コレクション | 説明的かつ複数形 | ✅ $activeUsers = User::active()->get()
|
❌ $active, $data
|
| オブジェクト | 説明的かつ単数形 | ✅ $activeUser = User::active()->first()
|
❌ $users, $obj
|
Discussion