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就是前面保存參數時用的快取的標識,必須一致才能正確取回已儲存的參數。取回的參數會和目前的配置參數合併,無需手動合併。
以上就介紹了ThinkPHP函數詳解:C方法,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。