首页 > 开发 > PHP > 正文

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

2024-05-04 23:38:47
字体:
来源:转载
供稿:网友

这篇文章主要给大家讲解ThinkPHP开发框架函数详解:C方法,有需要的朋友可以参考下

C方法是ThinkPHP用于设置、获取,以及保存配置参数的方法,使用频率较高。

了解C方法需要首先了解下ThinkPHP的配置,因为C方法的所有操作都是围绕配置相关的。ThinkPHP的配置文件采用PHP数组格式定义。

由于采用了函数重载设计,所以用法较多,我们来一一说明下。

设置参数

 

 
  1. C('DB_NAME','thinkphp'); 

表示设置DB_NAME配置参数的值为thinkphp,由于配置参数不区分大小写,所以下面的写法也是一样:

 

 
  1. C('db_name','thinkphp'); 

但是建议保持统一大写的配置定义规范。

项目的所有参数在未生效之前都可以通过该方法动态改变配置,最后设置的值会覆盖前面设置或者惯例配置里面的定义,也可以使用参数配置方法添加新的配置。

支持二级配置参数的设置,例如:

 

 
  1. C('USER.USER_ID',8); 

配置参数不建议超过二级。

如果要设置多个参数,可以使用批量设置,例如:

 

 
  1. $config['user_id'] = 1; 
  2. $config['user_type'] = 1; 
  3. C($config); 

如果C方法的第一个参数传入数组,就表示批量赋值,上面的赋值相当于:

 

 
  1. C('USER_ID',1); 
  2. C('USER_TYPE',1); 

获取参数

要获取设置的参数,可以用:

 

 
  1. $userId = C('USER_ID'); 
  2. $userType = C('USER_TYPE'); 

如果USER_ID参数尚未定义过,则返回NULL。

也可以支持获取二级配置参数,例如:

 

 
  1. $userId = C('USER.USER_ID'); 

如果传入的配置参数为空,表示获取全部的参数:

 

 
  1. $config = C(); 

保存设置

3.1版本增加了一个永久保存设置参数的功能,仅针对批量赋值的情况,例如:

 

 
  1. $config['user_id'] = 1; 
  2. $config['user_type'] = 1; 
  3. C($config,'name'); 

在批量设置了config参数后,会连同当前所有的配置参数保存到缓存文件(或者其他配置的缓存方式)。

保存之后,如果要取回保存的参数,可以用

 

 
  1. $config = C('','name'); 

其中name就是前面保存参数时用的缓存的标识,必须一致才能正确取回保存的参数。取回的参数会和当前的配置参数合并,无需手动合并。

代码如下:

 

 
  1. class TestAction extends Action{ 
  2. /** 
  3. * $config['user_id'] = 1; 
  4. $config['user_type'] = 1; 
  5. C($config); 
  6. 如果C方法的第一个参数传入数组,就表示批量赋值,上面的赋值相当于: 
  7. C('USER_ID',1); 
  8. C('USER_TYPE',1); 
  9. 获取参数 
  10. 要获取设置的参数,可以用: 
  11. $userId = C('USER_ID'); 
  12. $userType = C('USER_TYPE'); 
  13. */ 
  14. public function index(){ 
  15. C('USER_ID',102); //给参数赋值 
  16. C('USER_TYPE',107); //给参数赋值 
  17. dump(C('USER_ID')).'<br/>';//102=>获取设置的参数 
  18. dump(C('USER_TYPE')).'<br/>';//107=>获取设置的参数 
  19. $this->display(); 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表