尊重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传递给视图并显示它们。
简单的逻辑(如循环)在视图中是可以接受的,您不希望其中有任何业务逻辑。由于这个循环的逻辑是用于显示的,所以我将使用第一个。
通常在模板文件中,使用foreach:endforeach语法。
<?php foreach($posts as $post):?>
<div class="post"><?php echo $post;?></div>
<?php endforeach;?>
或者,如果启用了短标签(请注意,这在生产服务器上经常被禁用,但不能禁用<?php,所以我建议使用上述方法):
<? foreach($posts as $post):?>
<div class="post"><?=$post?></div>
<? endforeach;?>
然而,这是一种惯例,而不是一种规则。
第一个。控制器不应参与演示。如果视图中有太多逻辑,请将其移动到视图助手/组件/小部件中。