ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# 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(); ~~~