# ThinkPHP函數詳解:C函數
[TOC]
C方法是ThinkPHP用于設置、獲取,以及保存配置參數的方法,使用頻率較高。
了解C方法需要首先了解下[ThinkPHP的配置](http://doc.thinkphp.cn/manual/config.html),因為C方法的所有操作都是圍繞配置相關的。[ThinkPHP的配置](http://doc.thinkphp.cn/manual/config.html)文件采用PHP數組格式定義。
由于采用了函數重載設計,所以用法較多。
## 設置參數
### 典型的設置
~~~
C('DB_NAME','thinkphp');
~~~
表示設置DB_NAME配置參數的值為thinkphp,由于配置參數不區分大小寫,所以下面的寫法也是一樣。
~~~
C('db_name','thinkphp');
~~~
>[info] 但是建議保持統一大寫的配置定義規范。
項目的所有參數在未生效之前都可以通過該方法動態改變配置,最后設置的值會覆蓋前面設置或者慣例配置里面的定義,也可以使用參數配置方法添加新的配置。
### 支持二級配置參數的設置
~~~
C('USER.USER_ID',8);
~~~
>[info] 配置參數不建議超過二級。
### 批量設置
~~~
$config['user_id'] = 1;
$config['user_type'] = 1;
C($config);
~~~
如果C方法的第一個參數傳入數組,就表示批量賦值,上面的賦值相當于:
~~~
C('USER_ID',1);
C('USER_TYPE',1);
~~~
### 一個在生產環境中設置配置的demo
~~~
/* 讀取數據庫中的配置 */
$config = S('DB_CONFIG_DATA');
if(!$config){
$config = api('Config/lists'); // 獲取配置數組
S('DB_CONFIG_DATA',$config);
}
C($config); //添加配置
~~~
## 獲取參數
### 獲取設置的參數
~~~
$userId = C('USER_ID');
$userType = C('USER_TYPE');
~~~
>[info] 如果USER_ID參數尚未定義過,則返回NULL。
### 支持獲取二級配置參數
~~~
$userId = C('USER.USER_ID');
~~~
### 獲取全部的參數
~~~
$config = C();
~~~
- 開始
- PHP配置參數的介紹
- PHP代碼優化
- php中的命名空間
- PHP文件上傳類
- PHP文件下載
- PHP驗證碼
- ThinkPHP3.2 框架函數
- A函數:實例化控制器
- C函數:設置和獲取配置參數
- D函數:實例化模型
- F 函數:快速緩存設置和存取
- M函數:例化模型(無需定義模型類)
- L函數:設置和獲取語言變量
- S 函數:緩存設置和存取
- R函數:直接調用控制器的操作方法
- U函數:URL地址生成
- I 函數:安全獲取系統輸入變量
- 日志
- ThinkPHP在關閉調試模式導致函數被緩存
- MySQL觸發器使用時遇到的坑
- PHP常用函數
- 五一回家記錄
- window的PHP開發(wamp)下安裝redis擴展
- Windows下安裝使用Redis
- PHP7新特性
- 利用 phpmailer 類實現隊列發送郵件
- GD 庫圖像處理
- 檢測 PHP 模塊是否開啟
- GD 庫操作一般步驟
- GD 庫繪畫改變字體
- GD 繪制驗證碼
- GD 縮略圖實現
- GD 繪制水印
- 日期時間函數庫
- PHP 函數
- 無限極分類