Open6

Laravel

fnecofneco

Laravel Sail

  • PHP、MySQL、Redisを使用してLaravelアプリケーションを構築するための出発点を提供する
  • Sailの中心はdocker-compose.ymlファイルと、プロジェクトのルートに保存されるsailスクリプト
    • sailスクリプトは、docker-compose.ymlファイルで定義されたDockerコンテナと対話するための便利なメソッドを備えたCLIを提供

https://laravel.com/docs/10.x/sail

fnecofneco

Service層とRepository層

Controller ⇄ Service ⇄ Repository ⇄ Model

【Controller】

①ControllerからServiceをインスタンス化し、メソッドを呼び出す
❻Serviceから返ってきた整形されたデータをフロントに渡す

【Service】

  • データの永続化に関わらないビジネスロジック
  • モデルのユースケース
  • データの加工

②Repositoryのメソッドを呼び、Controllerから受け取ったIDなどのデータを渡したりする
❺Repositoryから返ってきたデータを整形し、Controllerに返す

【Repository】

  • データの永続化に関わるビジネスロジック(データの保存などの操作)

③クエリを記述してDBからデータを取得する
❹Modelから取得したデータをServiceに返す

層を分けるメリット

  • ファットコントローラー回避
  • 責任分割による保守性の向上

https://www.aizulab.com/blog/laravel-service-repository/

https://qiita.com/takeyaboo/items/9e0e9969f5d5d9c25d30