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

作者:务观 时间:2023-10-18 03:27:04 

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();
 }
}


标签:thinkphp,c
0
投稿

猜你喜欢

  • Python 自动控制原理 control的详细解说

    2023-04-17 09:53:45
  • Web标准下该如何“插入”图像

    2008-03-17 13:01:00
  • python数据可视化matplotlib绘制折线图示例

    2023-05-20 23:01:56
  • Pandas如何对Categorical类型字段数据统计实战案例

    2023-03-01 20:02:26
  • Oracle 启动例程 STARTUP参数说明

    2009-07-07 10:26:00
  • PyCharm关闭碍眼的波浪线图文详解

    2023-07-27 08:47:53
  • Python程序中的观察者模式结构编写示例

    2022-08-04 22:12:11
  • 解决MySQL Varchar 类型尾部空格的问题

    2024-01-25 15:31:28
  • JS获取select的value和text值的简单实例

    2024-04-19 09:50:11
  • pyhton学习与数据挖掘self原理及应用分析

    2023-07-04 23:19:11
  • 如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单

    2022-08-02 13:14:35
  • python yield和Generator函数用法详解

    2022-12-21 04:18:47
  • Python标准库学习之psutil内存详解

    2023-09-14 21:33:35
  • Python使用海龟绘图实现贪吃蛇游戏

    2022-01-03 15:21:28
  • 对python 多个分隔符split 的实例详解

    2022-12-26 11:24:27
  • python基础之文件操作

    2022-12-23 01:15:53
  • Django启动时找不到mysqlclient问题解决方案

    2024-01-17 15:55:29
  • Python3操作SQL Server数据库(实例讲解)

    2024-01-24 04:13:21
  • Python封装shell命令实例分析

    2022-03-11 13:39:37
  • Go代码检查的推荐工具及使用详解

    2024-05-09 15:00:11
  • asp之家 网络编程 m.aspxhome.com