# 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 函数
- 无限极分类