我正在构建一个小型 PHP MVC,并且我已经用一小部分编码撞到了墙。我认为我需要“部分视图”,但我可能能够使用现有代码实现某些目标。
我的控制器目前最简单的形式:
- 实例化一个对象
- 检查 POST 变量是否已设置
- 根据需要显示视图 1 或显示视图 2
目前的观点:
- 显示 HTML 标记
- 使用并回显模型获取函数,例如 getUserInfo()
一切都很好,但是代码现在在控制器和视图中都变得相当大,并且我已经达到了需要在主视图(1和2)中包含“模块”或子视图的情况。
例如,如果加载了 view2,那么我需要显示(作为 view2 的一部分)另一个视图,比如一个 3 部分的注册表单。该注册表单也带有它自己的控制器文件。
我可以做这样的事情,它会起作用并让您对我正在尝试做的事情有所了解,但我承认这会破坏 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 的,我有点迷失了!
我会认为这是一个相当普遍的问题,所以我认为有一个明显的解决方案!
谢谢!