[まえおき]
PHPでクラスで管理するための練習として、PHPでMVCの概念に基づいて、WEBサイトを作っています。サイト内の各ページは、URLにコントローラー名(クラス名)とそのアクション名(関数名)を指定することによって、ルートに配置したindex.phpで判定を行い、それに対応したviewを表示しています。viewにはsmartyを利用しています。
[質問]
このような場合において、viewの共通部分についての質問ですが、共通部分について動的な処理をおこないたい場合は、どこに処理を書くのがベストなのでしょうか?
例えば、ブログサイトのサイドバーのようなものを例にすると、各カテゴリー別の記事やそれに対応した記事のカウント数やユーザー一覧や検索ボックスなどがあります。MVCのルールですと、コントローラーのどこかに処理を書かないとダメだと思うのですけど、全てのコントローラーに同じ内容を記載するのも非効率ですし、かといって、別の場所から共通部分の処理をインクルードしても、MVCの概念が壊れると思いますし、このあたりが悩みどころです。
共通部分に動的な処理がない場合に関しては、viewのtplファイルに共通部分をまとめたtplファイルをインクルードしたり、共通部分を記載した、confファイルを読み込むことで対処できるとおもいますが、ひょっとしたら、こっちの方でなんとか動的なことができないかとも考えましたが、もしできたとしても、Viewで動的な処理しているので、MVCの概念ではないかもしれないので微妙なところです。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/14 14:58