2016-05-11 10 views
0
  1. 毎日2万人が自分のlaravelアプリケーションを使用しているとします。私は約200のメソッドを含む1つのコントローラを作成しました。一方、私はそれぞれ10個のメソッドを持つ20個のコントローラを作成しました。どちらが優れたアプローチで、アプリのパフォーマンスに影響しますか?
  2. 各ユーザーの5つのポートフォリオイメージを保存したいとします。私は2つの方法を考えることができます。 1つはテーブルに各ポートフォリオイメージの1行を挿入しています - >id | user_id | portfolioを含んでいます - 他のものは - >id | user_id | portfolio_1 | portfolio_2 | ... etcのような5つの列を作成していますが、どちらが良いアプローチですか?

答えて

0

一般的に言えば、200の方法のコントローラーはあまりにも多いので... SOLIDのSRP(単一責任)の原則を考えてください。

そして、ポートフォリオごとに番号付きの列を作成するのではなく、データベースを正常に正規化する方が一般にはるかに優れています...列に番号を付けたものより多くのポートフォリオを追加する場合はどうなりますか?番号の付いた列を使用すると、データベース構造を変更する際には強制的に変更する必要があります。適切に正規化されたデータベースは、コードやデータベースの変更は必要ありません(おそらく設定の設定以外)

0

毎回200メソッドコントローラの場合、PHP構文パーサーはコントローラ全体を解析する必要があります。そして、私たちが通常は一度に1つのコントローラを呼び出すので、20のメソッドコントローラシンタックスパーサでは、コードの解析量が少なくなります。

さらに、第1の方法を格納するポートフォリオ画像については、より好ましい。 最初のメソッドを表示するときに、おそらく$ user-> portfolio()を繰り返してhtmlで表示することができます。

しかし、2番目の方法では、ほぼ同じhtml 5時間を書き込む必要があります。最初の方法では、いつでもポートフォリオイメージの数を増やすことができます。

関連する問題