🙌

Laravel 命名規則一覧まとめ

2025/02/16に公開

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