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 相关文章推荐
如何跨站抓取别的站点的页面的补充
Oct 09 PHP
Snoopy类使用小例子
Apr 15 PHP
基于PHP静态类的原罪详解
May 06 PHP
php启动时候提示PHP startup的解决方法
May 07 PHP
解析php mysql 事务处理回滚操作(附实例)
Aug 05 PHP
Smarty变量调节器失效的解决办法
Aug 20 PHP
PHP生成不重复标识符的方法
Nov 21 PHP
PHP设计模式之装饰者模式代码实例
May 11 PHP
php图像处理类实例
Jul 28 PHP
解决PHP里大量数据循环时内存耗尽的方法
Oct 10 PHP
php对接java现实加签验签的实例
Nov 25 PHP
PHP+AJAX 投票器功能
Nov 11 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计算页面执行时间的实现代码
2013/06/18 PHP
基于PHP的简单采集数据入库程序
2014/07/30 PHP
asp 的 分词实现代码
2007/05/24 Javascript
JQuery 学习笔记 选择器之四
2009/07/23 Javascript
jQuery代码优化 遍历篇
2011/11/01 Javascript
jquery创建一个新的节点对象(自定义结构/内容)的好方法
2013/01/21 Javascript
将两个div左右并列显示并实现点击标题切换内容
2013/10/22 Javascript
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
EasyUI创建对话框的两种方式
2016/08/23 Javascript
React学习笔记之事件处理(二)
2017/07/02 Javascript
基于JavaScript实现五子棋游戏
2020/08/26 Javascript
在小程序Canvas中使用measureText的方法示例
2018/10/19 Javascript
微信打开网址添加在浏览器中打开提示的办法
2019/05/20 Javascript
有关vue 开发钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案
2020/05/09 Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
2020/11/04 Javascript
Python logging模块学习笔记
2014/05/24 Python
Python中super的用法实例
2015/05/28 Python
Python3 使用cookiejar管理cookie的方法
2018/12/28 Python
python实现桌面壁纸切换功能
2019/01/21 Python
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
2020/02/26 Python
Python类中的装饰器在当前类中的声明与调用详解
2020/04/15 Python
vscode写python时的代码错误提醒和自动格式化的方法
2020/05/07 Python
python 使用递归的方式实现语义图片分割功能
2020/07/16 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
2020/08/11 Python
德国古洛迷亚百货官网:GALERIA Kaufhof
2017/06/20 全球购物
新西兰演唱会和体育门票网站:Ticketmaster新西兰
2017/10/07 全球购物
领导接待方案
2014/03/13 职场文书
请假条范文大全
2014/04/10 职场文书
学习作风建设心得体会
2014/10/22 职场文书
师德师风事迹材料
2014/12/20 职场文书
2015财务年终工作总结范文
2015/05/22 职场文书
Java中的随机数Random
2022/03/17 Java/Android
Netty分布式客户端接入流程初始化源码分析
2022/03/25 Java/Android
Python获取字典中某个key的value
2022/04/13 Python
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
2022/05/25 SQL Server