[英]Attaching data from controllers to views in PHP frameworks, standardization
[英]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.