2012-05-16 54 views
1

IM很新的MVC和框架,並且我現在的一個真正的錯誤我是有關調用從視圖控制器或任何其他方式來處理這會在每一頁重複代碼,面臨很多挑戰通過從視圖調用控制器來處理重複耗時的代碼?

說,我有一個網站,用戶可以記錄或者沒有登錄時,他/她訪問我的網站 現在如果用戶登錄我想說「歡迎用戶名」在我的頭視圖

頭視圖是要從許多不同的控制器 我想正確的方法是所謂的檢查,如果用戶在每個控制器記錄,並將該數據傳遞給頭視圖

但更簡單的方式做,這是直接在視圖中做到這一點,得到了控制器的認證部分

我想要做這樣的事情在頭視圖的坐:

$this->load->controller('user'); 
$user = $this->user->is_logged(); 
if($user) 
echo "welcome $user"; 

是有如何做到這一點?如果答案是肯定的,這是正確的還是有效的做法? 如果沒有,有什麼辦法來減少時間和編碼是這種情況?

回答

1

你不打電話從視圖控制器!

如果你有「重複」的任務 - 他們應該被放入庫中,或輔助,並從那裏運行。

在該庫 - 你有一個像

function display_log_status() 
{ 
    if ($this->user->is_logged()) 
    { 
     return "welcome!"; 
    } 
    else 
    { 
      return "please log in!"; 
    } 
} 

一個功能,那麼只需要調用 「display_log_status()」 在您的視圖。

MVC Guide

Creating Libraries in CI

相關問題