为什么Joomla将MVC View分为两部分

时间:2012-11-06 01:44:53

标签: php html model-view-controller design-patterns joomla

我已经使用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代码都进入该文件。

现在问题是为什么他们可以立即使用第二种方法?什么是行业标准?上述方法的优缺点是什么?应该使用什么,为什么,取决于什么?感谢

2 个答案:

答案 0 :(得分:0)

没有“行业标准”。但MVC的概念是“关注点分离”。

第二种方法更接近MVC启发模式的精神。视图应该负责UI逻辑。并且,如果此逻辑需要生成响应,请查看多个模板以创建它。或者它可能只选择发送HTTP标头。

第一种方法是“quick'n'dirt”版本。这通常意味着UI逻辑泄露在控制器中。或者,开发人员不明白为什么意大利面条代码是一件坏事。

答案 1 :(得分:0)

看起来第二种方法是调用父类,因此它调用模板的基本部分。通常,您有一个基本模板,然后是使用该基本模板的单个内容(页面)。