0

我已经构建了一个 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);

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

在这件事上得到任何人的建议会很好。

4

2 回答 2

1

这取决于您在哪里执行包含:如果您在模型中执行它们,那将是错误的。但是,在视图中它会没事的。

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

我看不到,包含如何缩短控制器的长度。

于 2012-10-11T09:35:29.953 回答
1

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

这样的代码在控制器中没有位置。在模型层中甚至更少。模型应该只包含领域业务逻辑并且完全忽略表示层。

于 2012-10-11T11:13:09.970 回答