2013-05-25 59 views
0

一個愚蠢的問題,我想從我的admin_news控制器函數中調用,該函數駐留在另一個控制器管理員中。函數名is_logged_in(); admin.php的codeigniter如何調用駐留在另一個控制器中的函數

public function is_logged_in() 
{ 
    .... 
} 


admin_news.php 
public function __contruct() 
{ 
    parent::__construct(); 
    //admin->is_logged_in();?? 
} 

我該怎麼辦呢? 謝謝

+0

該方法應該位於模型或助手中,而不是控制器。 –

+0

試試這個答案:http://stackoverflow.com/questions/6647112/calling-a-controller-function-in-another-controller-in-codeigniter#answer-6647355 –

回答

6

您必須將該功能移到其他地方,Codeigniter的架構不允許在一個請求中使用多個控制器實例。你有多種選擇,比如使用一個通用的基類,庫,幫手等等。

我會建議你創建你自己的MY_Controller基類(見Extending Core Classes),並把你的方法有,像這樣:

class MY_Controller extends CI_Controller { 
    protected function is_logged_in() { 
     // ... 
    } 
} 

一旦你擁有了它那裏,你可以這樣調用它:

class AdminNews extends MY_Controller { 
    public function __construct() { 
     parent::__construct(); 
     $this->is_logged_in(); 
    } 
} 
相關問題