php的c方法,thinkphp的c方法的使用
这篇文章主要介绍了关于thinkphp的c方法的使用,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
用过thinkphp的朋友都知道,C()方法在整个框架中用的非常普遍,C方法的实现非常简单,但是功能非常强大,下面是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_NAME'=>'chen','USER_HEIGHT'=>'170'));
2.读取变量
一维: C('USER_NAME');
二维: C('DB.DB_PASSWORD');
3.调试时,查看所有的配置信息
C();
3.存放方式及为什么要这样存储?
首先我们来看一个问题$arr=array('db'=>'mysql','DB'=>'mysql','Db'=>'mysql'); 从这个数组我们可以看到db都是指向了mysql,但是在却占用了三个存放空间,在项目的开发不是由一个人完成,每个人的书写习惯可能不一样,所以为了避免这种情况,统一的下标转为小写(当然大写也是可以的),由于配置文件在中的数组只有最多只有二维,把一维数组的下标小写就够了
4.实战中是怎么用的?
php由于对数组的操作非常便捷,所以配置文件一般是写在一个配置文件中,以数组的形式返回
一般格式为:config.php return array('DB'=>'mysql',......);
把变量写入到C中 : C(include 'config.php'); 写入后C('DB') 就可以获取值了
5.笔者写的 (新增动态添加二维配置的功能)C(array('name'=>'mysql','password'=>'root'),'db') 执行后array('db'=>array('name'=>'mysql','password'=>root))
代码示例:function C($name=null,$value=null){
static $_config = array();
if(!is_null($name)){
if(is_string($name)){
if(is_null($value)){
if(!strpos($name,'.')){
$name = strtolower($name);
return isset($_config[$name]) ? $_config[$name] : null;
}else{
$name = explode('.',$name);
$name[0] = strtolower($name[0]);
return isset($_config[$name[0]][$name[1]]) ? $_config[$name[0]][$name[1]] : null;
}
}else{
if(!strpos($name,'.')){
$_config[strtolower($name)] = $value;
}else{
$name = explode('.',$name);
$_config[strtolower($name[0])][$name[1]] = $value;
}
return ;
}
}elseif(is_array($name)){
if(is_null($value))
$_config = array_merge($_config,$name);
else{
$_config[$value] = $name;
}
return ;
}
}else{
return empty($_config) ? null: $_config;
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
php的c方法,thinkphp的c方法的使用相关推荐
- think php a方法,ThinkPHP之A方法实例讲解_PHP
ThinkPHP ThinkPHP的A方法用于在内部实例化控制器,其调用格式为: A('[项目://][分组/]模块','控制器层名称') 最简单的用法: $User = A('User'); 表示实 ...
- php tp框架调用方法,thinkPHP框架使用方法
title: thinkPHP框架使用方法 date: 2018-01-05 20:30:44 tags: 1. thinkPHP思想 thinkPHP基于MVC思想,MVC是一种设计模式,他强制的使 ...
- php create()方法,ThinkPHP中create()方法自动验证实例
ThinkPHP中create()方法自动验证实例2020-06-16 04:24:32 自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验 ...
- php l方法,ThinkPHP的L方法使用简介
thinkPHP的L方法用于启用多语言的情况下,设置和获取当前的语言定义. 其调用格式为:L('语言变量'[,'语言值']) 1.设置语言变量 除了使用语言包定义语言变量之外,我们可以用L方法动态设置 ...
- PHP的create方法,Thinkphp中Create方法深入探究
由于工作原因在thinkPHP的create()方法上遇到了问题,所以跟踪了create(),从而进一步探究了create()方法. 原来create()方法原来有两个参数,本文就此作简要说明,需要的 ...
- thinkphp中data方法
data方法也是模型类的连贯操作方法之一,用于设置当前要操作的数据对象的值,可能大家不太习惯用这个方法,今天来讲解下如何用好data方法. 用法 写操作 通常情况下我们都是通过create方法或者赋值 ...
- ThinkPHP的field方法的用法总结
ThinkPHP的连贯操作方法中field方法有很多的使用技巧,field方法主要目的是标识要返回或者操作的字段,下面详细道来.1.用于查询 在查询操作中field方法是使用最频繁的. $Model- ...
- 仿写thinkphp的I方法
自己定义一个方法仿写thinkphp的I 方法 <?php function I($key="",$default='',$function="") {$ ...
- think php a方法,PHP_ThinkPHP之A方法实例讲解,ThinkPHP的A方法用于在内部实例 - phpStudy...
ThinkPHP之A方法实例讲解 ThinkPHP的A方法用于在内部实例化控制器,其调用格式为: A('[项目://][分组/]模块','控制器层名称') 最简单的用法: $User = A('Use ...
最新文章
- 送书 | 你一定能看懂的算法基础书(代码示例基于Python)
- java的编译及运行
- 1.2.2 Logistic回归和梯度下降计算的数学流程
- JS 中迭代数组的三种方法
- 认识CUBA平台的CLI
- 一个线程加一运算,一个线程做减一运算,多个线程同时交替运行--synchronized...
- updatebyprimarykeyselective返回什么是成功_嫦娥五号发射升空成功!!!
- 不重复的两两比较(洛谷P5728题题解,Java语言描述)
- [UML]转:UML类图集中关系的总结
- Python中的self和init
- BZOJ5212[ZJOI2018]历史
- 为什么人人都应该学编程?
- c语言在线编译答案,(完整版)C语言试题
- Email,电子邮箱免费注册流程
- 电脑开热点手机连不上
- 【Faster R-CNN论文精度系列】原文精析
- 这个彩蛋表明,图灵测试评估的也许不是计算机,而是人类……
- 火影忍者中的天才七忍者
- TWS耳机OVP芯片,过压保护电路芯片
- QQ无法访问个人文件夹,修复失败问题
热门文章
- I/0口输入输出实验 流水灯程序 P0、P1、P2、P3口作为输出口,连接八只发光二极管,编写程序,使发光二极管从左至右循环点亮。
- Java Integer类详解
- java - 分解质因数
- java写一个类吧,能不能自己写个java自带的类
- 【youcans 的 OpenCV 例程 200 篇】104. 运动模糊退化模型
- 用一个参数化的模型来投影点
- 类似endnote_求推荐一款文献管理软件?
- 缺陷调研报告_质量零缺陷 | 打造极致产品的质量管理之道
- 详述白盒测试的逻辑覆盖法的条件判定覆盖及其优缺点
- 解题: SDOI 2011 染色