您当前的位置: 首页 > 网站编程 > PHP教程 > thinkphp的c方法使用示例

thinkphp的c方法使用示例

作者:不详 来源:网络 发布时间: 2014-08-09 22:43 点击:
用过thinkphp的朋友都知道,C()方法在整个框架中用的非常普遍,C方法的实现非常简单,但是功能非常强大,下面是C()方法的详解和使用示例 1.C方法的作用 a. 加载设置用户的配置,保存在一个C函数内的静态变量$_config 中 b. 读取用户的配置 (从$_congig 中读取) 2. 需求

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;

  }

  }
分享到:
本文"thinkphp的c方法使用示例"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 广告合作 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4