程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> ThinkPHP開發框架函數詳解:C方法

ThinkPHP開發框架函數詳解:C方法

編輯:PHP綜合

C方法是ThinkPHP用於設置、獲取,以及保存配置參數的方法,使用頻率較高。

了解C方法需要首先了解下ThinkPHP的配置,因為C方法的所有操作都是圍繞配置相關的。ThinkPHP的配置文件采用PHP數組格式定義。

由於采用了函數重載設計,所以用法較多,我們來一一說明下。

設置參數

C('DB_NAME','thinkphp');

表示設置DB_NAME配置參數的值為thinkphp,由於配置參數不區分大小寫,所以下面的寫法也是一樣:

C('db_name','thinkphp');

但是建議保持統一大寫的配置定義規范。

項目的所有參數在未生效之前都可以通過該方法動態改變配置,最後設置的值會覆蓋前面設置或者慣例配置裡面的定義,也可以使用參數配置方法添加新的配置。

支持二級配置參數的設置,例如:

C('USER.USER_ID',8);

配置參數不建議超過二級。

如果要設置多個參數,可以使用批量設置,例如:

$config['user_id'] = 1;
$config['user_type'] = 1;
C($config);

如果C方法的第一個參數傳入數組,就表示批量賦值,上面的賦值相當於:

C('USER_ID',1);
C('USER_TYPE',1);

獲取參數

要獲取設置的參數,可以用:

$userId = C('USER_ID');
$userType = C('USER_TYPE');

如果USER_ID參數尚未定義過,則返回NULL。

也可以支持獲取二級配置參數,例如:

$userId = C('USER.USER_ID');

如果傳入的配置參數為空,表示獲取全部的參數:

$config = C();

保存設置

3.1版本增加了一個永久保存設置參數的功能,僅針對批量賦值的情況,例如:

$config['user_id'] = 1;
$config['user_type'] = 1;
C($config,'name');

在批量設置了config參數後,會連同當前所有的配置參數保存到緩存文件(或者其他配置的緩存方式)。

保存之後,如果要取回保存的參數,可以用

$config = C('','name');

其中name就是前面保存參數時用的緩存的標識,必須一致才能正確取回保存的參數。取回的參數會和當前的配置參數合並,無需手動合並。

代碼如下:

class TestAction extends Action{
  /**
   * $config['user_id'] = 1;
    $config['user_type'] = 1;
    C($config);
      如果C方法的第一個參數傳入數組,就表示批量賦值,上面的賦值相當於:
    C('USER_ID',1);
    C('USER_TYPE',1);
      獲取參數
      要獲取設置的參數,可以用:
    $userId = C('USER_ID');
    $userType = C('USER_TYPE');
   */
  public function index(){
    C('USER_ID',102);  //給參數賦值
    C('USER_TYPE',107); //給參數賦值
    dump(C('USER_ID')).'<br/>';//102=>獲取設置的參數
    dump(C('USER_TYPE')).'<br/>';//107=>獲取設置的參數
    $this->display();
  }
}

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