ThinkPHP开发框架函数详解:C方法
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方法使用示例
1.C方法的作用 a. 加载设置用户的配置,保存在一个C函数内的静态变量$_config 中 b. 读取用户的配置 (从$_congig 中读取) 2. 需求分析: 1.设置变量 1.二维数组 复制代码 代码如下: C(array('DB_PASSWORD'=>'root','DB_USERNAME'=>'root'),'DB'); C('DB.USER_NAME','XIAOCHEN); 2.一维数组 复制代码 代码如下: C('USER_NAME','小陈'); C(array('USER
-
解析thinkphp基本配置 convention.php
复制代码 代码如下: return array( /* 项目设定 */ 'APP_DEBUG' => false, // 是否开启调试模式 'APP_DOMAIN_DEPLOY' => false, // 是否使用独立域名部署项目 'APP_SUB_DOMAIN_DEPLOY' => false, // 是否开启子域名 'APP_PLUGIN_ON' => false, // 是否开启
-
thinkphp的URL路由规则与配置实例
本文实例讲述了thinkphp的URL路由规则与配置方法.分享给大家供大家参考.具体分析如下: 一.URL规则 1.默认是区分大小写的 2.如果我们不想区分大小写可以改配置文件 复制代码 代码如下: 'URL_CASE_INSENSITIVE'=>true,//url不区分大小写 3.如果模块名为 UserGroupAction,那么url找模块就必要要写成 复制代码 代码如下: http://localhost/thinkphp4/index.php/user_group/index 4.如果
-
在nginx中配置pathinfo模式支持thinkphp的URL重写
最近一个项目中使用了ThinkPHP做为开发框架,URL上我们使用了PATHINFO模式,但是Nginx默认是不支持PATHINFO的,需要进行手动配置才可以,于是我们按照了以下方法进行了Nginx的PATHINFO支持配置:修改nginx.conf,找到server中的 location ~ .php${},修改为location ~ .php {},并在其中增加以下内容: 复制代码 代码如下: set $path_info "";set $real_script_name $fas
-
ThinkPHP惯例配置文件详解
ThinkPHP的系统内置有一个惯例配置文件(位于系统目录下面的Conf\convention.php),按照大多数的使用对常用参数进行了默认配置.本文对惯例配置文件作出注释详解如下,供大家参考: <?php /** +------------------------------------------------------------------------------ * ThinkPHP惯例配置文件 * 该文件请不要修改,如果要覆盖惯例配置的值,可在项目配置文件中设定和惯例不符的配置项
-
THINKPHP支持YAML配置文件的设置方法
为什么要用 yaml 因为 Yaml 简单,而且对人类友好: Yaml: http://www.yaml.org/ 在哪里会用到? 最基本的,在 ThinkPHP 的配置文件里面就可以选择 Yaml 的格式,你是愿意写 Yaml 的简洁格式配置呢?还是愿意写又长又臭又难写的 PHP array 呢? http://document.thinkphp.cn/manual_3_2.html#config_format 问题来了 于是,我把配置格式改为 Yaml: 复制代码 代码如下: // /ind
-
ThinkPHP中公共函数路径和配置项路径的映射分析
本文实例分析了ThinkPHP中公共函数路径和配置项路径的映射.分享给大家供大家参考.具体分析如下: ThinkPHP中在使用公共函数时(单一入口文件对应独立的项目),在Common文件夹中可以写公共的函数文件,写成文件名为common.php的文件会被系统自动加载,如果写成其他的函数名,则不会自动加载,但是有两种处理机制 1.在使用的时候手动加载 load('@.function');这样就会手动加载这个文件.@代表是在这个项目下的Common文件夹下的. 2.在配置文件中配置 复制代码 代码
-
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
本文实例讲述了ThinkPHP公共配置文件与各自项目中配置文件组合的方法.分享给大家供大家参考.具体实现方法如下: 在使用ThinkPHP时,在布局目录时,常使用的是单个入口文件对应一个项目目录,但是这样在写配置文件时,在各自的配置文件中,经常会使用重复的配置项,所用这时就会将公共的配置项放在一个公共的目录下. 具体实现方法: 使用配置文件的特性return array();可以在各自项目中的配置文件中这样定义: 复制代码 代码如下: $config = array(''=>'',); 然后使用
-
thinkPHP中配置的读取与C方法详解
本文实例讲述了thinkPHP中配置的读取与C方法.分享给大家供大家参考,具体如下: 1.项目公共配置 Conf/config.php 内容如下 <?php /** *项目公共配置 *@package *@author **/ return array( 'LOAD_EXT_CONFIG' => 'db,info,email,safe,upfile,cache,route,app,alipay,sms,platform,store,pay', 'APP_AUTOLOAD_PATH' =>
-
ThinkPHP开发框架函数详解:C方法
C方法是ThinkPHP用于设置.获取,以及保存配置参数的方法,使用频率较高. 了解C方法需要首先了解下ThinkPHP的配置,因为C方法的所有操作都是围绕配置相关的.ThinkPHP的配置文件采用PHP数组格式定义. 由于采用了函数重载设计,所以用法较多,我们来一一说明下. 设置参数 C('DB_NAME','thinkphp'); 表示设置DB_NAME配置参数的值为thinkphp,由于配置参数不区分大小写,所以下面的写法也是一样: C('db_name','thinkphp'); 但是建
-
thinkphp 字母函数详解T/I/N/D/M/A/R/U
1. /** * 获取模版文件 格式 资源://模块@主题/控制器/操作 * @param string $template 模版资源地址 * @param string $layer 视图层(目录)名称 * @return string */T($template='',$layer='') 2. /** * 获取输入参数 支持过滤和默认值 * 使用方法: * <code> * I('id',0); 获取id参数 自动判断get或者post * I('post.name','','htmls
-
JavaScript基础学习之splice()函数详解
目录 splice()函数详解 一.情况一(只有一个参数) 二.情况二 (两个参数) 三.情况三 (大于等于三个参数) 总结 splice()函数详解 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. 注释:该方法会改变原始数组. 参数: index —— 必需.整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置.howmany —— 必需.要删除的项目数量.如果设置为 0,则不会删除项目.item1, …, itemX —— 可选.向数组添加的新项目. 返回
-
ThinkPHP函数详解之M方法和R方法
首先给大家介绍ThinkPHP函数详解:M方法 M方法用于实例化一个基础模型类,和D方法的区别在于: 1.不需要自定义模型类,减少IO加载,性能较好: 2.实例化后只能调用基础模型类(默认是Model类)中的方法: 3.可以在实例化的时候指定表前缀.数据库和数据库的连接信息: D方法的强大则体现在你封装的自定义模型类有多强,不过随着新版ThinkPHP框架的基础模型类的功能越来越强大,M方法也比D方法越来越实用了. M方法的调用格式: M('[基础模型名:]模型名','数据表前缀','数据库连接
-
对Python3之方法的覆盖与super函数详解
#覆盖 覆盖:在继承关系中,子类实现了与基类同名的方法,在子类的实例调用该方法时,实例调用的是子类的覆盖版本. 通俗的讲,就是小明继承了他⑧的自行车,经过自己的改装,成了电动车,那么小明每次骑的就是电动车了(这个电动车是可以脚蹬的,后边栗子会继续使用) 举个简单的栗子: class Bicycle(): def run(self): print('我是自行车的run方法') class E_Bicycle(Bicycle): # 继承自行车 def run(self): print('我是电动车
-
Java 逻辑结构与方法函数详解刨析
⭐前言⭐ 本文主要介绍JavaSE的逻辑结构和方法. 对一门编程语言逻辑结构和方法的理解是站在C语言之上的,建议配套C语言版本的分析一起食用 链接直达:
-
R语言行筛选的方法之filter函数详解
目录 1. 数据 2. 生成ID列和类型 3. 提取effect大于0.1的行 4. 提取加性效应,且effect小于0的行 5. 根据部分行名删选 6. 固定字符特征进行行筛选 总结 下面介绍一下R语言中行筛选的方法,主要介绍filter函数 1. 数据 这里,使用asreml分析中的BLUP值为例,相关的模型为: m1 = asreml(Phen ~ G , random = ~ vm(Progeny,ainv) + vm(Dam,ainv) + vm(Progeny,dinv), work
-
浅谈PHP之ThinkPHP框架使用详解
Thinkphp框架其精髓就在于实现了MVC思想,其中M为模板.V为视图.C为控制器,模板一般是公共使用类,在涉及数据库时,一般会跟数据表同名,视图会和控制器类里的方法进行名字的一一对应. 下载及配置 官网(http://www.thinkphp.cn/)下载ThinkPHP5.0,将解压文件放在网站目录下的ATP5子目录下 默认主页:http://localhost:8099/ATP5/public/index.php 如果要隐藏index.php且服务器为Apache则需要将public\.
-
js正则表达式常用函数详解(续)
正则表达式对象的方法 1.test,返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式.如果存在则返回 true,否则就返回 false. 2.exec,用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组. 3.compile,把正则表达式编译为内部格式,从而执行得更快. 正则表达式对象的属性 1.source,返回正则表达式模式的文本的复本.只读. 2.lastIndex,返回字符位置,它是被查找字符串中下一次成功匹配的开始位置. 3.input ($_),返回
-
Java 回调函数详解及使用
Java 回调函数详解 前言: C语言中回调函数解释: 回调函数(Callback Function)是怎样一种函数呢? 函数是用来被调用的,我们调用函数的方法有两种: 直接调用:在函数A的函数体里通过书写函数B的函数名来调用之,使内存中对应函数B的代码得以执行.这里,A称为"主叫函数"(Caller),B称为"被叫函数"(Callee). 间接调用:在函数A的函数体里并不出现函数B的函数名,而是使用指向函数B的函数指针p来使内存中属于函数B的代码片断得以执行--听
随机推荐
- JSP session配置对web应用的影响
- Windows Powershell条件表达式之条件操作符
- JavaScript实现Flash炫光波动特效
- ASP.NET批量操作基于原生html标签的无序列表的三种方法
- asp.net coolite 删除时弹出确定按钮
- 详解yii2实现分库分表的方案与思路
- php实现字符串首字母大写和单词首字母大写的方法
- 通过对服务器端特性的配置加强php的安全
- php常见的魔术方法详解
- python计算最大优先级队列实例
- 如何写ASP入库小偷程序
- VC小技巧汇总之5则实用小技巧
- MySql 5.5.29绿色安装教程详解
- chrome浏览器如何断点调试异步加载的JS
- 基于ASPJPEG 制作了一个梦寐已久的批量水印工具步骤
- asp空间奸商查询系统
- 解析Jquery的LigerUI如何实现文件上传
- JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
- jQuery中Dom的基本操作小结
- C#中DataTable 转换为 Json的方法汇总(三种方法)