Codeigniter 控制器的繼承問題


在項目中經常用到這樣一種情況,后台中每個頁面都要判斷Session來確定用戶是否登陸狀態.對於在Codeigniter中,那么就會考慮每個控制器繼承一個公用控制器。

比如:AdminBase 為應用后台的公用的控制器,在每一個應用后台控制器里面都來繼承公共的AdminBase ,但是同時要確保AdminBase 也是繼承CI_Controller的。
前台HomeBase也是同樣的道理。

具體實現很簡單,只要在application/core下面新建MY_Controller.php,如下

(MY_是可配置的,application/config/config.php 文件並找到這一項:$config['subclass_prefix'] = 'MY_';

class MY_Controller extends CI_Controller
{
function  __construct()
{
parent::__construct();
}
}
 
class AdminBase extends MY_Controller
{
function  __construct()
{
parent::__construct();
......
}
......
}
 
class HomeBase extends MY_Controller
{
function  __construct()
{
parent::__construct();
......
}
......
}

然后在application/controllers里面的控制器就可以繼承了,比如application/controllers/admin/blog.php中

class Blog extends AdminBase
{
 
function __construct()
{
parent::__construct();
......
}
......
}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM