程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> CodeIgniter學習筆記三:擴展CI的控制器、模型,codeigniterci

CodeIgniter學習筆記三:擴展CI的控制器、模型,codeigniterci

編輯:關於PHP編程

CodeIgniter學習筆記三:擴展CI的控制器、模型,codeigniterci


一、擴展CI中的控制器

有時需要對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_prefix'] = 'MY_';

只需要這兩處對應上就可以了。

二、模型

示例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);
}

模型主要用於規范項目結構。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved