簡體   English   中英

如何在MVC框架中的視圖中顯示條件數據?

[英]How to show conditional data in views in MVC frameworks?

人們通常如何處理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的庫,而不是從頭開始編寫模型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM