人们一般如何处理 MVC 框架中的条件语句
对于我的一些页面(在 Kohana 下制作的),我希望用户有更多选项,具体取决于他们是否登录,以及个人资料是否是他们自己的个人资料。根据您自己的经验,您是创建单独的视图、空变量、执行视图中的逻辑还是什么?
谢谢
曾娜
人们一般如何处理 MVC 框架中的条件语句
对于我的一些页面(在 Kohana 下制作的),我希望用户有更多选项,具体取决于他们是否登录,以及个人资料是否是他们自己的个人资料。根据您自己的经验,您是创建单独的视图、空变量、执行视图中的逻辑还是什么?
谢谢
曾娜
这取决于基于变量值的视图看起来有多么不同。例如,如果您只需要隐藏/显示几个控件,我会将控件包含在某些情况下为空的视图中,而在其他情况下则包含数据。
如果一次显示/隐藏多个控件,并且您的框架支持“面板”(视图的可重用部分)的概念,我会将这组控件分成一个面板并显示/隐藏该面板,具体取决于有条件的。
这里的权衡在于“清洁度”(您是否将两个视图的视图组件混合在一起?)与“易于更新”(如果两个视图共同发展,您是更新两个地方还是只更新一个?)
就我个人而言,我会将信息传递给视图以指示要显示哪些视图,因为我认为显示/隐藏显示元素是一种视图逻辑。
在 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 的库,而不是从头开始编写模型。