私は小さなPHPMVCを構築していますが、コーディングの小さな領域で壁にぶつかりました。「部分ビュー」が必要だと思いますが、既存のコードで何かを達成できるかもしれません。
現在最も単純な形式の私のコントローラー:
- オブジェクトをインスタンス化します
- POST変数が設定されているかどうかを確認します
- 必要に応じてビュー1またはビュー2を表示します
現在のビュー:
- HTMLマークアップを表示します
- モデルを使用してエコーし、getUserInfo()などの関数を取得します
すべてがうまく機能していますが、コードはコントローラーとビューの両方でかなり大きくなり、メインビュー(1と2)内に「モジュール」またはサブビューを含める必要がある状況になりました。
たとえば、view2がロードされている場合、別のビュー、たとえば3部構成のサインアップ登録フォームを(view2の一部として)表示する必要があります。この登録フォームには、独自のコントローラーファイルも付属しています。
私はこのようなことを行うことができます。これはうまくいき、私がやろうとしていることのいくつかのアイデアをあなたに与えるでしょうが、これはMVCデザインパターンを壊すことを認めます。
意見
<div id="mydiv">Some content</div>
<div id="mysignup"> <?php include('controller_signup.php'); ?></div>
<div id="content"> The views main page content </div>
次に、ビューがコントローラーから適切な場所に引き込まれます。
前述のように、部分ビューを使用する必要があると思いますが、私が見つけた情報のほとんどはASPに関するものであり、少し迷っています。
これはかなり一般的な問題だと思っていたので、明らかな解決策があると思います。
ありがとう!