zoukankan      html  css  js  c++  java
  • thinkphp函数学习(3): C函数详解

    function C($name=null, $value=null,$default=null) {
        static $_config = array();
        // 无参数时获取所有
        if (empty($name)) {
            return $_config;
        }
        // 优先执行设置获取或赋值
        if (is_string($name)) {
            if (!strpos($name, '.')) {
                $name = strtolower($name);
                if (is_null($value))
                    return isset($_config[$name]) ? $_config[$name] : $default;
                $_config[$name] = $value;
                return;
            }
            // 二维数组设置和获取支持
            $name = explode('.', $name);
            $name[0]   =  strtolower($name[0]);
            if (is_null($value))
                return isset($_config[$name[0]][$name[1]]) ? $_config[$name[0]][$name[1]] : $default;
            $_config[$name[0]][$name[1]] = $value;
            return;
        }
        // 批量设置
        if (is_array($name)){
            $_config = array_merge($_config, array_change_key_case($name));
            return;
        }
        return null; // 避免非法参数
    }
    

    这是thinkphp中function.php里面定义的函数。 

    详解:

    此函数功能有:

    1、获得$_config数组,其中保存着配置信息(静态变量只初始化一次,函数执行完毕,值不会消失)

    print_r(C()); // 这样能获得所有已读取或设置的配置信息
    

    2、读取配置的值

    echo C('key');
    echo C('key.subkey');
    //二维数组的读取,对应的配置文件结构为
    return array(
      'key'=>array('subkey','value'),
    )
    

      

    3、动态添加配置

    C('key','value');
    C('key.subkey','value');
    

      

    C函数实现的关键点:

    1、static $_config = array(); 把$_config设置为静态变量,使其能够存储值

    2、配置文件的写法。

    return $arr = array(
        'key1'=>'value';
        'key2'=>array('subkey','value'),        
    );
    /*
    注意开头的return,当include这个文件时,返回的就是这个return返回的值
    */
    

    启发:

    开发项目的时候可以借鉴,这个函数处理系统的配置还是很好用的。  

      

     

     

  • 相关阅读:
    第七周作业
    第六周作业
    第六周上机练习
    jsp第七周
    Android数据跳转
    第九周上机练习
    第七周上机作业
    IE7 正式发布版不支持offsetheight,clientheight,scrollheight属性
    Build your own UpdateProgress panel
    Treeview控件如何在asp.net ajax中使用小技巧
  • 原文地址:https://www.cnblogs.com/bushe/p/4270134.html
Copyright © 2011-2022 走看看