2009-09-17 107 views
1

怎么做的人一般处理条件语句中的MVC框架如何在MVC框架的视图中显示条件数据?

对于一些我的网页(Kohana的下发),我希望用户有更多的选择,这取决于它们在或不是否登录,以及配置文件是否是自己的例如自己的档案。根据你自己的经验,你是否创建了单独的视图,空变量,视图中的逻辑还是什么?

感谢

泽纳

回答

2

这取决于视图如何不同的样子基于变量的值。例如,如果您只需要隐藏/显示一些控件,我会在视图中包含控件,在某些情况下这些控件是空的,并且在其他控件中包含数据。

如果它不止一个控件一次显示/隐藏,并且您的框架支持“面板”的概念(视图的可重用部分),我会将该组控件分隔成一个面板并显示/根据条件隐藏该面板。

这里的权衡是在“清洁”(您是否将两个视图合并在一起的视图组件中)与“易于更新”(如果两个视图是共同演变的,您是更新两个位置还是一个? )

2

对我个人而言,我会将信息传递给视图来指示要显示哪些视图片段,因为我认为显示/隐藏显示元素是一种视图逻辑。

在Kohana的情况下,如果您要将$ user变量传递给作为User_Model对象的视图,即使未加载某个人,该对象仍然存在,因此您可以在视图中编写代码如:

<?php if ($user->logged_in()):?> 
<div>Some login only markup here</div> 
<?php else:?> 
<div>some not login only markup here</div> 
<?php endif;?> 

您的里程取决于如果你划痕使用,而不是写作模式的ORM或其他ORM样库也可能会有所不同。

相关问题