refirio.org
Menu
このサイトについて
levis
サーバメモ
技術メモ
ツール
過去の記事
記事一覧
お問い合わせ
Advertisement
Memo
メモ
>
技術
>
フレームワーク: Laravel
> より良い設計をするために
より良い設計をするために
Laravelでウェブアプリケーションをつくるときのベストプラクティスを探る - Qiita
http://qiita.com/nunulk/items/b1e2da51b5dabab92da0
Laravel5のアーキテクチャから学ぶより良いクラス設計 - Qiita
http://qiita.com/nunulk/items/2c637d3952096ef74677
LaravelのORMで初心者から職人へ - Qiita
http://qiita.com/henriquebremenkanp/items/cd13944b0281297217a9
Laravel Recipes日本語版
http://recipes.laravel.jp/
Laravel リファレンス
https://book.impress.co.jp/books/1114101107
https://github.com/laravel-jp-reference/chapter8
■Laravel経験者に話を聞いたときのメモ(2017/09/13)
・バージョン5.4を採用した ・Homesteadはあくまでも開発環境用として使った。本番環境はEC2にPHPなどをインストールして構築した ・本番反映は「デプロイ → マイグレーション → シード」を実行 ・基本構成は MVC + Service + Repository ・DIとEloquentには慣れが必要だった ・「php artisan make:auth」を使うとカラム名の変更などが大変なので、認証はmiddlewareを使って一から作った
■追加考察メモ
・リポジトリのContractsは、個別に作るよりも「DatabaseRepository」というインターフェースに統一する方がいいか これでもテスト時にリポジトリを差し替えたりは支障ないはず と思ったが、DIではContractsを注入するので共通のDBインターフェースにするのはまずいかも AppServiceProviderで関連付けも行っている サービスからリポジトリを呼ぶとき、実態を直接呼ばずにContractsを呼ぶべきかも ・APIなどを使う場合、サービス内に直接接続処理を書かずにリポジトリ内で処理するか ・サービスはドメイン駆動設計をもとに、リポジトリはデータベースや相手APIの仕様をもとにするか
Advertisement