はじめに
Laravelには、コントローラー、モデル、ビューなどの要素があり、それぞれに命名規則があります。また、Laravelはコーディング規約のPSR-1やコーディングスタイルのPSR-2に基づいた命名規則を採用しています。この記事では、Laravelの命名規則についてまとめていきます。
Laravelの命名基本ルール
1. コントローラーの命名規則
コントローラーは、クラスで実装されます。コントローラーのクラス名は、以下のルールに従う必要があります。
- 単数形のパスカルケースで記述する。
- 「Controller」という接尾語を付ける。
また、一般的にコントローラー名には、アプリケーションのドメイン知識に関する単語を使用することが推奨されます。例えば、ECサイトの場合はProductController
やCartController
などが該当します。
class ProductController extends Controller
{
//
}
2. モデルの命名規則
モデルは、データベースとのやりとりを担当するクラスです。モデルのクラス名は、以下のルールに従う必要があります。
- 単数形のパスカルケースで記述する。
また、モデル名はテーブル名と一致するようにすることが推奨されます。例えば、product_namesテーブルに対応するモデルの場合はProductName
といった具合です。
class ProductName extends Model
{
//
}
リレーションの命名規則と記述方法
リレーションは種類に応じて、適切な記述方法を行います。例えば、belongsTo
リレーションであれば、メソッド名を単数形のモデル名として定義します。
public function user(): BelongsTo
{
return $this->belongsTo(User::class);
}
また、hasManyリレーションであれば、posts()のようにメソッド名を複数形のモデル名として定義します。
public function products(): HasMany
{
return $this->hasMany(Product::class);
}
3. マイグレーションファイルの命名規則
マイグレーションファイルは、データベースのテーブル構造を定義するためのファイルです。マイグレーションファイルのファイル名は、以下のルールに従う必要があります。
- 「create_テーブル名_table」という形式で記述する。
- 「xxx」の箇所には作成日時が入る。
例えば、「users」というテーブルを作成する場合は、以下のようにファイル名を記述します。
xxx_create_users_table.php
4. ビューの命名規則
ビューは、HTMLなどの表示用のファイルです。ビューのファイル名は、以下のルールに従う必要があります。
- ドットで区切られた単数形のスネークケースで記述する。
- ビューファイルの拡張子は「.blade.php」とする。
また、コントローラーと対応するビューの場合は、コントローラー名に対応したビュー名にすることが一般的です。例えば、UserController
に対応するビューの場合はuser.blade.php
と命名します。
resources/
views/
user/
user.blade.php
5. ルーティングの命名規則
ルーティングは、URLとコントローラーのアクションを紐付けるための設定です。ルーティングの名前は、以下のルールに従う必要があります。
- スネークケースで命名する。
- ルート名には、.(ドット)を使用する。
例えば、「Product」というコントローラーの「index」アクションに対応するルートがある場合は、以下のようにルートの名前を記述します。
Route::get('products', [ProductController::class, 'index'])->name('product_name.index');
まとめ
Laravelには、コントローラー、モデル、マイグレーションファイル、ビュー、ルーティングなど、様々な要素があります。命名規則は、プロジェクトのメンテナンス性や拡張性を高めるための重要な要素の1つですので、参考になれば幸いです。