在模型中需要文件的不良做法?

时间:2012-10-11 09:32:55

标签: php html model-view-controller

我已经构建了一个MVC php应用程序并且想知道,如果不是必须写出大量的html并设置数据,我是否可以将所有这些html(带有一些php)放在一个单独的文件中需要吗?

例如:

$test = '<div>
         Test content
         <div>More content</div>
         </div>';
$APP->Template->setData('test', $test, FALSE);

相反,我不能只使用:

$test = require("includes/content.php");
$APP->Template->setData('test', $test, FALSE);

这会被视为不良做法吗?似乎通过要求文件,它可以缩短控制器的长度。

在此问题上获得任何人的建议会很好。

2 个答案:

答案 0 :(得分:1)

这取决于你在哪里做的包括:如果你在你的模型中执行它们,那就错了。但是,在视图中它会没问题。

这是一个关注点分离的问题:模型是应用程序的主干,而视图负责显示模型的结果。

我没有看到,怎么包含会缩短控制器的长度。

答案 1 :(得分:1)

您打算包含的文件看起来像模板。当它开始将HTML文档拼凑在一起作为响应时,它们应该是视图实例的句柄。视图应该从模型层(这是一个层,而不是单个对象类)请求信息,并根据接收到的数据,决定什么是适当的响应形式。

此类代码在控制器中没有位置。在模型层中甚至更少。模型应该只包含域业务逻辑,并且完全无视表示层。