尊重MVC会更好吗?
使用for循环创建一个视图:
<?php foreach($posts as $post){
echo '<div class="post">'.$post.'</div>';
}
?>
其中$ posts持有帖子的全部内容。
或在控制器中做出类似的事情:
<?php foreach($posts as $post){
$html = $html + '<div class="post">'.$post.'</div>';
}
?>
然后将$ html传递给视图并显示它们。
答案 0 :(得分:4)
视图中可以接受诸如循环之类的简单逻辑,您不需要任何业务逻辑。由于此循环的逻辑用于显示目的,我将使用第一个。
通常在模板文件中,使用foreach:endforeach语法。
<?php foreach($posts as $post):?>
<div class="post"><?php echo $post;?></div>
<?php endforeach;?>
或者如果启用了短标签(请注意,这通常在生产服务器上禁用,但是&lt;?php无法禁用,所以我建议采用上述方法):
<? foreach($posts as $post):?>
<div class="post"><?=$post?></div>
<? endforeach;?>
然而,这是一项惯例而非规则。
答案 1 :(得分:1)
第一个。控制器不应该参与演示。如果视图中有太多逻辑,请将其移动到viewhelper / component / widget中。