gpt4 book ai didi

PHP MVC View 循环

转载 作者:行者123 更新时间:2023-12-04 06:59:47 24 4
gpt4 key购买 nike

我有一个用于“博客预览”的模板——它基本上只是该博客的缩略图、标题和简短摘录,采用简洁的结构,为列表中的重复而构建。

如上所述,我打算从模型中的数据库中提取我网站上的前 10 个博客,将它们传输到 Controller , Controller 将提供它们作为 View 。在 View 中,我需要遍历结果并为每个博客填充一个新的“博客预览”。

我目前的解决方案(我认为这可能会违反 MVC 的规则)是在 View 模板中执行此操作:

foreach($this->blogs as $blog) {
$tpl = new Output_Html();
$tpl->title = $blog['title'];
// ...assign other vars

$tpl->render();
}

不知何故,这感觉像是不应该允许 View 做的事情?但是,我还能如何循环浏览主页模板内的“预览”模板?

帮助?

最佳答案

考虑到 View 负责生成输出,您在这里所做的似乎没问题:您没有在 View 中进行任何“计算/业务/类似的事情”。

我唯一的问题是你在这里写了很多代码;我宁愿通过$blog数组/对象作为一个整体,让 View 处理它——而不是分配 $blog 的每个属性到 View 。

即这样的东西看起来(只是一个想法 - 由你决定如何适合你的 View 类)更漂亮:

foreach($this->blogs as $blog) {
$tpl = new Output_Html();
$tpl->blog = $blog;
$tpl->render();
}

这意味着,如果您的 blog对象不断变化,您只有一个 View 可以编辑(添加或删除内容),并且您不必修改对该 View 的每个调用来添加/删除 $blog 的一个组件/属性。 .

关于PHP MVC View 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2060950/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com