ThinkPHP开发框架函数详解:C方法


Posted in PHP onAugust 14, 2015

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();
  }
}
PHP 相关文章推荐
php中使用Curl、socket、file_get_contents三种方法POST提交数据
Aug 12 PHP
thinkphp控制器调度使用示例
Feb 24 PHP
完美实现wordpress禁止文章修订和自动保存的方法
Nov 03 PHP
php常用hash加密函数
Nov 22 PHP
PHP中4种常用的抓取网络数据方法
Jun 04 PHP
PHP中如何使用session实现保存用户登录信息
Oct 20 PHP
php自动载入类用法实例分析
Jun 24 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
Jul 28 PHP
php版微信发红包接口用法示例
Sep 23 PHP
Yii2创建多界面主题(Theme)的方法
Oct 08 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
Jul 30 PHP
解决windows上php xdebug 无法调试的问题
Feb 19 PHP
提高php编程效率技巧
Aug 13 #PHP
php轻量级的性能分析工具xhprof的安装使用
Aug 12 #PHP
详细解读PHP中接口的应用
Aug 12 #PHP
举例讲解PHP面对对象编程的多态
Aug 12 #PHP
详解PHP中的状态模式编程
Aug 11 #PHP
简单介绍PHP的责任链编程模式
Aug 11 #PHP
PHP会话处理的10个函数
Aug 11 #PHP
You might like
开发大型PHP项目的方法
2006/10/09 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
2014/06/12 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
2015/05/11 PHP
深入php内核之php in array
2015/11/10 PHP
ThinkPHP打水印及设置水印位置的方法
2016/10/14 PHP
Linux平台PHP5.4设置FPM线程数量的方法
2016/11/09 PHP
微信公众平台开发(五) 天气预报功能开发
2016/12/03 PHP
node.js 一个简单的页面输出实现代码
2012/03/07 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
2015/08/28 Javascript
在React框架中实现一些AngularJS中ng指令的例子
2016/03/06 Javascript
JavaScript Drum Kit 指南(纯 JS 模拟敲鼓效果)
2017/07/23 Javascript
ReactNative列表ListView的用法
2017/08/02 Javascript
基于JavaScript实现淘宝商品广告效果
2017/08/10 Javascript
详解在vue-cli中使用路由
2017/09/25 Javascript
微信小程序6位或多位验证码密码输入框功能的实现代码
2018/05/29 Javascript
vue中axios实现数据交互与跨域问题
2019/05/12 Javascript
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
[49:07]VGJ.T vs Optic Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
Django使用Mysql数据库已经存在的数据表方法
2018/05/27 Python
python 利用文件锁单例执行脚本的方法
2019/02/19 Python
遮罩层 + Iframe实现界面自动显示的示例代码
2020/04/26 HTML / CSS
印度在线内衣和时尚目的地:Zivame
2017/09/28 全球购物
耐克中国官方商城:Nike中国
2018/10/18 全球购物
Bibloo荷兰:女士、男士和儿童的服装、鞋子和配饰
2019/02/25 全球购物
英国家喻户晓的家居商店:The Range
2019/03/25 全球购物
制药工程专业毕业生推荐信
2013/12/24 职场文书
大学生村官任职感言
2014/01/09 职场文书
三年大学自我鉴定
2014/01/16 职场文书
小学生元旦感言
2014/02/26 职场文书
毕业晚会主持词
2014/03/24 职场文书
房产委托公证书
2014/04/08 职场文书
有关爱国演讲稿
2014/05/07 职场文书
2014年为民办实事工作总结
2014/12/20 职场文书
五一劳动节活动总结
2015/02/09 职场文书
回复函格式及范文
2015/07/14 职场文书
七年级作文之游记
2019/12/11 职场文书