有時需要對CI中的控制器作統一操作,如進行登錄和權限驗證,這時就可以通過擴展CI控制器來實現。
擴展CI控制器只需要在application/core文件夾中建一個繼承自CI_Controller類的MY_Controller類即可,然后在這個類中實現自己需要的邏輯。
關于上面這句話,有兩點需要解釋一下:
1、為什么要在application/core文件夾中:是因為基類CI_Controller是在system/core文件夾中,這里需要跟system中對應。
2、為什么擴展的控制器前綴是MY_,可否換成其他的:這個前綴是在application/config/config.php中定義的:
$config['subclass_只需要這兩處對應上就可以了。
二、模型示例application/models/user_model.php:
<?php /** * User_model */ class User_model extends CI_Model{ //return all users public function getAll() { $res = $this -> db -> get('test'); return $res -> result(); } }注意點:
1、文件名全小寫
2、類名首字母大寫
3、模型中可以使用超級對象中的屬性
4、建議用_model作后綴,防止跟其他類名沖突
使用示例:
public function index() { //load model $this -> load -> model('User_model'); $usermodel = $this -> User_model -> getAll(); //別名 $this -> load -> model('User_model', 'user'); $usermodel = $this -> user -> getAll(); var_dump($usermodel);}模型主要用于規范項目結構。
新聞熱點
疑難解答