プロジェクト

全般

プロフィール

操作

Wiki

コーディング規約

基本的に下記に書かれている一般的なベストプラクティスを適用する

https://github.com/alexeymezenin/laravel-best-practices/blob/master/japanese.md

フロントエンドの規約はこちら

※Livewire利用のため、下記のルーティングの内容は必要ありません
コントローラーやルーティング等が不要になったため、フロントエンドガイドラインをご確認ください

ルーティング

一般的なRESTの規則に従って実装をします

  • index - リソースの一覧を表示します。
    GET /photos
  • create - 新規リソース作成用のフォームを表示します。
    GET /photos/create
  • store - 新規リソースを作成します。
    POST /photos
  • show - 特定のリソースを表示します。
    GET /photos/{photo}
  • edit - 既存のリソースを編集するフォームを表示します。
    GET /photos/{photo}/edit
  • update - 既存のリソースを更新します。
    PUT/PATCH /photos/{photo}
  • destroy - 既存のリソースを削除します。
    DELETE /photos/{photo}

例外のルート

上記の命名規則では対応しきれないルートは別名を付けて良いものとする
例:searchregister
基本は上記の命名で、対応しきれない場合のみ例外を適用する

ルートモデルバインディング

上記の show、edit、update、destroy ではパラメータに {photo} を使用しています。これはLaravelのルートモデルバインディング機能を利用するためです。

PhotoController の各アクションメソッドでは、Photo モデルのインスタンスを直接受け取ることができます。

// app/Http/Controllers/PhotoController.php
public function show(Photo $photo)
{
    return view('photos.show', compact('photo'));
}
  • 外部APIサービスを利用するようなものなどはServiceクラスを作る

    • これによりコントローラーに限られず、Livewireコンポーネントからでも呼び出し可能になります
  • 型定義を引数、プロパティ、戻り値に全て必ず記述する

  • PHPDocにServiceクラスなどを作る際はメソッドなどはわかりやすいように説明を記述する

  • テーブルに区分値がある場合はapp/Enums配下にEnumを作る

    • 例に既にいくつか作っているため参考にしてください
    • boolean型などの真偽値は定数を作らなくて良いです

平 勇治 さんが9ヶ月前に更新 · 6件の履歴