MVC構造で、各コントローラで共通な動的ページを表示するにはajaxが一般的なのでしょうか?
MVC構造に不慣れなものです。(zendフレームワークを利用しています)
コントローラAContololler.phpで、ビューA.htmlを表示しています。
ビューA.htmlの中では、共通のビューhead.htmlを最初に読み込んでいます。
コントローラB,Cでも同様にビューB,Cを表示し、共通のビューhead.htmlを最初に読み込んでいます。
このビューhead.htmlの中身を条件ごとに動的表示したいのです。
1個のコントローラ限定であれば、
コントローラ内で条件分けして結果をビューに渡してしまうだけなんですが、
複数のコントローラで呼ばれることを考えると、
それぞれのコントローラ内に同じ処理を書かなければなりません。
これを忘れてたまたまhead.htmlを読み込んでしまった時にエラーとなってしまいます。
ようするに、head.htmlを読み込む上で、コントローラ側に設定が必要という二手間かかる部分が腑に落ちません。
MVC構造でないのであれば、動的部分をhead.phpとして作っておき、
必要なページでそれを読み込むだけでいいのにって思ってしまいました。
この二手間かかるのを回避するには、
head.htmlの中で、動的データを取りにいくというajax化するしかないのでしょうか?
それともhead.htmlの中にphpのコード、ここでいえばDBに繋ぐ部分や条件分けなどまで書いてしまうのもありなんですか?
でもMVCの考え方としてビューの中に処理をだらだら書くのはちょっと筋違いかなぁと思うのですがどうなんでしょう。。。