我已经使用joomla超过一年了,并且熟悉MVC模式。但我不清楚Joomla在展示视图时如何使用MVC。在组件中,开发人员使用以下两种方法。
第一种方法
class myView extends JView
{
function display($tpl = null)
{
//HTML & PHP goes here
}
}
第二种方法
class myView extends JView
{
function display($tpl = null)
{
parent::display($tpl);
}
}
在第二种方法中,他们创建了一个tmpl
文件夹,并在其中放置了default.php
。然后,所有HTML和PHP代码都进入该文件。
现在问题是为什么他们可以立即使用第二种方法?什么是行业标准?上述方法的优缺点是什么?应该使用什么,为什么,取决于什么?感谢
答案 0 :(得分:0)
没有“行业标准”。但MVC的概念是“关注点分离”。
第二种方法更接近MVC启发模式的精神。视图应该负责UI逻辑。并且,如果此逻辑需要生成响应,请查看多个模板以创建它。或者它可能只选择发送HTTP标头。
第一种方法是“quick'n'dirt”版本。这通常意味着UI逻辑泄露在控制器中。或者,开发人员不明白为什么意大利面条代码是一件坏事。
答案 1 :(得分:0)
看起来第二种方法是调用父类,因此它调用模板的基本部分。通常,您有一个基本模板,然后是使用该基本模板的单个内容(页面)。