文档章节

thinkphp学习--C方法详解

share_good
 share_good
发布于 2014/02/11 11:02
字数 551
阅读 303
收藏 0

  1.C方法的作用   (注: C 笔者认为是config的缩写)

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


© 著作权归作者所有

共有 人打赏支持
share_good
粉丝 16
博文 8
码字总数 5732
作品 0
南昌
私信 提问
新手指导Thinkphp开发指南

小编于昨日参加朋友婚礼,浑身喜气洋洋。今天给用户带来的是关于thinkphp开发指南的纯技术性的文档,本文档目的很简单: 1、 帮助开发人员掌握thinkphp入门 2、 快速利用thinkphp进行项目开发...

汤圆
2012/12/25
0
1
ThinkPHP 查询数据 select(findAll) 方法

ThinkPHP 查询数据 ThinkPHP 查询数据主要提供以下几类查询: select:普通查询,同 findAll() 方法 find:取得符合查询条件的一条记录 getBy动态查询:根据某个字段取得符合查询条件的一条记...

WangEven
2012/05/10
0
0
Thinkphp 3.1.2 视频教程震撼上线

期待已久的TP视频教程,经千呼、历万唤,经由TP团队和Lamp兄弟连联合精心制作,正式隆重登场了,这里有最专业的导师,这里有最权威的TP知识,这里有最强大的TP技术团队,在这里,就让我们通过...

麦当苗儿
2013/04/25
4.9K
30
适合PHP新手入门上手的开发框架-thinkphp

ThinkPHP是一个开源的PHP框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。早期的思想...

big_cat
2013/06/15
0
0
七年相伴,奉献传承 ThinkPHP七周年

从2006年第一个雏形版本发布至今,ThinkPHP七年以来一直致力于为敏捷web应用开发和简化企业应用开发提供免费开源框架,并在7年的时间内不断优化创新,一路秉承简洁实用的原则,更方便更稳定地...

流年
2013/01/15
4.2K
26

没有更多内容

加载失败,请刷新页面

加载更多

Ubuntu16.04下安装docker

[TOC] 本文开发环境为Ubuntu 16.04 LTS 64位系统,通过apt的docker官方源安装最新的Docker CE(Community Edition),即Docker社区版,是开发人员和小型团队的理想选择。 1. 开始安装 1.1 由于...

豫华商
31分钟前
3
0
使用XShell工具密钥认证登录Linux系统

如果你是一名Linux运维,那么Linux服务器的系统安全问题,可能是你要考虑的,而系统登录方式有两种,密码和密钥。哪一种更加安全呢? 无疑是后者! 这里我为大家分享用Xshell利器使用密钥的方...

dragon_tech
43分钟前
1
0
day178-2018-12-15-英语流利阅读-待学习

“真蛛奶茶”了解一下?蜘蛛也会产奶了 Lala 2018-12-15 1.今日导读 “蛋白质含量是牛奶的 4 倍,并有着更低的脂肪和含糖量”,听起来诱人又美味的并不是羊奶或豆奶,而是你可能打死都想不到...

飞鱼说编程
48分钟前
9
0
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents

场景重现 npm install --verbose 安装依赖的时,出现如下警告 强迫症患者表示不能接受 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):npm WARN......

taadis
53分钟前
2
0
OSChina 周六乱弹 —— 你一口我一口多咬一口是小狗

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文 :分享Roy Orbison的单曲《She's a Mystery to Me》 《She's a Mystery to Me》- Roy Orbison 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
363
6

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部