レイアウトを使用している作業中の zend mvc アプリケーションがあり、このレイアウトは外部のスタイルシートとスクリプトを使用しています。サイト内の各ページには独自のコントローラーがあり、各ページのページ固有のコンテンツは index.phtml ファイルにあります。レイアウトが機能し、すべてのスクリプト/スタイルシートが各コントローラーの index.phtml に適切に適用されます。
たとえば、ホームページは「mvcProject/」であり、インデックス コントローラに対応する index.phtml ファイルを使用するインデックス コントローラのインデックス アクションを呼び出します。さらに、about us ページは「mvcProject/about」で、about コントローラーを呼び出し、views/about/index.phtml を表示します。主観的には、この構造は効率が悪いと感じました。このサイトのコンテンツは html だけで、各ページに独自のコントローラーが必要な理由がわかりません。
したがって、単一のインデックス コントローラー内で各ページに独自のアクションを与えることで、同じ目的、つまり同じアーキテクチャを実現するために、コントローラーを 1 つだけ使用するようにしました。これで、"about us" ページは "mvcProject/index/about" になりました。これにより、インデックス コントローラーは、views/index/about.phtml ファイルを使用する about アクションを呼び出します。
このアプローチにより、レイアウト内の外部スクリプト/スタイルシートへのリンクがすべて壊れました。レイアウトは引き続き機能しましたが、リンクのパスはどれも機能しませんでした。明らかに、これはパス関連の問題ですが、私はまだ zend に比較的慣れていないため、これを修正する方法がわかりませんでした。したがって、私は戻って、各ページに独自のコントローラーを再び与えました。
したがって、私の質問は 2 つあります。各ページに独自のコントローラーを与えることによる肥大化を避けることに気を配る必要がありますか? また、この構造をスリム化する必要がある場合、リンクのパスを修正するために何を調整する必要がありますか? ご検討いただきありがとうございます。