我对设计模式比较陌生,但我觉得我对MVC模式以及代码分离带来的好处有了很好的理解。为什么要将MVC中的视图分解为视图类和模板
不过,两次我已经看到了行动(Magento的和Joomla!)MVC模式,有进一步专业化,与视图同时包含一个视图类(Magento的块)和一个PHP模板文件。如果有人能够解释这一分裂的好处,我将不胜感激。
我也不知道如何在视图类和模板文件之间分割我的代码。有时候我发现自己正在写一些看起来是冗余视图类的东西(在Joomla!中),它只是简单地访问模型,然后只是为模板提供数据。哪些代码应该出现在模板中,哪些代码应该出现在视图类中?
我认为,MVC范式的全部内容是模型是**什么**和视图是**如何**。 – Dom
我的编辑在五分钟的规则中迷失了,上面的其他内容应该阅读。据我所知,使用Joomala时!有三个领域可以控制如何呈现模型的内容,这些领域是:1)视图2)模板和3)样式表。您能否提供一个示例显示演示文稿应该如何以及为什么在这些位置之间进行分区。 – Dom
你可以找到一个关于内容重写的解释,这是这种分离最常见的用例[这里](http://docs.joomla.org/Understanding_Output_Overrides)。即使您的默认安装模板也有内置覆盖。视图被用作获取数据并将其分配给变量的常见代码片段,然后调用渲染部分,这是视图的模板(在Joomla!中称为“布局”)。可以在这里找到一个简短的解释(http://docs.joomla.org/How_to_override_the_output_from_the_Joomla!_core)。 – MasterAM