ThinkPHP函数详解:C方法
C方法是ThinkPHP用于设置、获取,以及保存配置参数的方法,使用频率较高。
了解C方法需要首先了解下ThinkPHP的配置,因为C方法的所有操作都是围绕配置相关的。ThinkPHP的配置文件采用PHP数组格式定义。
由于采用了函数重载设计,所以用法较多,我们来一一说明下。
设置参数
C('DB_NAME','thinkphp');
表示设置DB_NAME配置参数的值为thinkphp,由于配置参数不区分大小写,所以下面的写法也是一样:[-more-]
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就是前面保存参数时用的缓存的标识,必须一致才能正确取回保存的参数。取回的参数会和当前的配置参数合并,无需手动合并。
via:http://www.thinkphp.cn/document/136.html
ThinkPHP函数详解:C方法的更多相关文章
- ThinkPHP函数详解:session方法
ThinkPHP函数详解:session方法 Session方法用于Session 设置.获取.删除和管理操作. Session 用于Session 设置.获取.删除和管理操作 用法 sessi ...
- ThinkPHP函数详解:D方法
从本篇开始,我们会陆续给大家详细说明下框架内置函数的用法. D方法 D方法应该是用的比较多的方法了,用于实例化自定义模型类,是ThinkPHP框架对Model类实例化的一种封装,并实现了单例模式,支持 ...
- ThinkPHP函数详解:cookie方法
cookie函数也是一个多元化操作函数,完成cookie的设置.获取和删除操作. Cookie 用于Cookie 设置.获取.删除操作 用法cookie($name, $value='', $opti ...
- ThinkPHP函数详解:I方法
ThinkPHP的I方法是3.1.3版本新增的,如果你是之前的3.*版本的话,可以直接参考使用3.1快速入门教程系列的变量部分. 概述 正如你所见到的一样,I方法是ThinkPHP众多单字母函数中的新 ...
- ThinkPHP函数详解:U方法
U方法用于完成对URL地址的组装,特点在于可以自动根据当前的URL模式和设置生成对应的URL地址,格式为:U('地址','参数','伪静态','是否跳转','显示域名');在模板中使用U方法而不是固定 ...
- ThinkPHP函数详解:M方法
M方法用于实例化一个基础模型类,和D方法的区别在于:1.不需要自定义模型类,减少IO加载,性能较好:2.实例化后只能调用基础模型类(默认是Model类)中的方法:3.可以在实例化的时候指定表前缀.数据 ...
- ThinkPHP函数详解:import方法
import方法是ThinkPHP框架用于类库导入的封装实现,尤其对于项目类库.扩展类库和第三方类库的导入支持,import方法早期的版本可以和java的import方法一样导入目录和通配符导入,后来 ...
- ThinkPHP函数详解:F方法
我们已经了解了ThinkPHP中的S方法的用法,F方法其实是S方法的一个子集功能,仅用于简单数据缓存,并且只能支持文件形式,不支持缓存有效期,因为采用的是PHP返回方式,所以其效率较S方法较高,因此我 ...
- ThinkPHP函数详解:cache方法
cache方法是3.0版本开始新增的缓存管理方法.注意:3.1.2版本后因cache方法并入原S方法,所以cache方法不再建议使用,用S方法即可. cache 用于缓存设置.获取.删除操作 用法ca ...
随机推荐
- 【HDOJ】4333 Revolving Digits
扩展KMP基础题目. /* 4333 */ #include <iostream> #include <sstream> #include <string> #in ...
- git 日常使用
git clone git checkout git 删除 本地分支: git branch -d <本地分支名> git branch -D <本地分支名>(大写表 ...
- poj1149
非常好的网络流 每个顾客分别用一个结点来表示. 对于每个猪圈的第一个顾客,从源点向他连一条边,容量就是该猪圈里的猪的初始数量 对于每个猪圈,假设有n个顾客打开过它,则对所有整数i∈[1, n),从该猪 ...
- HDU 1533 Going Home (最小费用流)
题意: 一个矩阵n*m,其中有k个房子和k个人,k个人分别必须走到任意一个房子中(匹配),但是权值就是长度(非欧拉距离),求匹配完的权之和. 思路: 建图方法是,首先将k个人和k个房子分别抽出来到集合 ...
- Java [Leetcode 41]First Missing Positive
题目描述: Given an unsorted integer array, find the first missing positive integer. For example,Given [1 ...
- HTML5桌面通知:notification api
1. 为什么需要HTML5的桌面通知 传统的桌面通知可以写一个div放到页面右下角自动弹出来,并通过轮询等等其他方式去获取消息并推送给用户.这种方式有个弊端就是:当我在使用京东 进行购物的时候,我是不 ...
- Progress 自定义(一)-shape
需求:自定义ProgressBar,使用系统自定义shape; 效果图: 1.默认底色: 2.第一进度颜色: 3.第二进度颜色: 实现分析: 1.目录结构: 代码实现: 1.progress_styl ...
- C++ 学习资料搜寻与学习(第一期)(未完待续)
一.图形图像类 [Visual C++]vs2008/2005正确打开vs2010所创建项目的几种方法 jlins 2012-04-12 14:38 [Visual C++]关于无法打开包括文件:“S ...
- SQLite Helper (C#) zt
http://www.codeproject.com/Articles/746191/SQLite-Helper-Csharp This small class (SQLiteHelper.cs) i ...
- 0、IOS8:Xcode6 playground
一.Playground介绍 Playground是Xcode6中自带的Swift代码开发环境.俗话说“功欲善其事,必先利其器”.以前在Xcode5中编写脚本代码,例如编写JS,其编写过程很痛苦,Xc ...