- 毎日2万人が自分のlaravelアプリケーションを使用しているとします。私は約200のメソッドを含む1つのコントローラを作成しました。一方、私はそれぞれ10個のメソッドを持つ20個のコントローラを作成しました。どちらが優れたアプローチで、アプリのパフォーマンスに影響しますか?
- 各ユーザーの5つのポートフォリオイメージを保存したいとします。私は2つの方法を考えることができます。 1つはテーブルに各ポートフォリオイメージの1行を挿入しています - >
id | user_id | portfolio
を含んでいます - 他のものは - >id | user_id | portfolio_1 | portfolio_2 | ... etc
のような5つの列を作成していますが、どちらが良いアプローチですか?
0
A
答えて
0
一般的に言えば、200の方法のコントローラーはあまりにも多いので... SOLIDのSRP(単一責任)の原則を考えてください。
そして、ポートフォリオごとに番号付きの列を作成するのではなく、データベースを正常に正規化する方が一般にはるかに優れています...列に番号を付けたものより多くのポートフォリオを追加する場合はどうなりますか?番号の付いた列を使用すると、データベース構造を変更する際には強制的に変更する必要があります。適切に正規化されたデータベースは、コードやデータベースの変更は必要ありません(おそらく設定の設定以外)
0
毎回200メソッドコントローラの場合、PHP構文パーサーはコントローラ全体を解析する必要があります。そして、私たちが通常は一度に1つのコントローラを呼び出すので、20のメソッドコントローラシンタックスパーサでは、コードの解析量が少なくなります。
さらに、第1の方法を格納するポートフォリオ画像については、より好ましい。 最初のメソッドを表示するときに、おそらく$ user-> portfolio()を繰り返してhtmlで表示することができます。
しかし、2番目の方法では、ほぼ同じhtml 5時間を書き込む必要があります。最初の方法では、いつでもポートフォリオイメージの数を増やすことができます。
関連する問題
- 1. Laravel Eloquent VS DBハンドラ
- 2. CakePhp複数テナント - 単一DB対複数DB
- 3. 複数のコミットを持つLaravel DBトランザクション?
- 4. Laravel - 一方のコントローラで複数のモデル
- 5. AngularJS Single View(複数形モード)
- 6. Gradle Single対Double Quotes
- 7. Python - single対multiline REGEX
- 8. のCakePHPのApp-構造:1 DB&アプリの対複数のDB&アプリ
- 9. Laravel - コントローラを複数回使用する
- 10. MySQLの複数のinsert from single select
- 11. Java single char複数のバイトで表される文字列
- 12. 複数のオーディオファイルjavascript on single page
- 13. Laravel 5.3、Cashier - Braintree - Single Chargees
- 14. 複数の列と行
- 15. - 複数の行と1列
- 16. laravel ajaxはコントローラに複数の変数を渡しますか?
- 17. コントローラ関数laravel routingとのモデルバインド
- 18. 複数配列(Laravel 4)
- 19. Laravel Eloquent複数列IN節
- 20. laravelでDBテーブルから複数の行を削除するには?
- 21. VS 7.1リリースコンパイルと複数スレッド
- 22. Laravelコントローラ構造とコントローラ
- 23. Laravelのコントローラとルート
- 24. 複数の行をmysql DBに挿入
- 25. Laravelは同じコントローラ内で複数の機能を実行します
- 26. 複数の列、複数のテーブルの列とピボットのない行
- 27. Laravel mysql 1つのDBインスタンスでの複数の操作
- 28. laravelの複数のテーブルのDB ::クエリを制限する
- 29. 複数列対複数列のインデックス作成のコンセプト
- 30. VS DB Edition - データベースプロジェクトとサーバープロジェクト