国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > ThinkPHP > 正文

thinkphp的c方法使用示例

2024-09-09 15:20:33
字體:
來源:轉載
供稿:網友

用過thinkphp的朋友都知道,C()方法在整個框架中用的非常普遍,C方法的實現非常簡單,但是功能非常強大,下面是C()方法的詳解和使用示例。

1.C方法的作用

a. 加載設置用戶的配置,保存在一個C函數內的靜態變量$_config 中

b. 讀取用戶的配置 (從$_congig 中讀取)

2. 需求分析:

1.設置變量

1.二維數組

代碼如下:

  1. C(array('DB_PASSWORD'=>'root','DB_USERNAME'=>'root'),'DB'); 
  2.  
  3. C('DB.USER_NAME','XIAOCHEN); 

2.一維數組

代碼如下:

  1. C('USER_NAME','小陳'); 
  2.  
  3. 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))

代碼示例:

  1. function C($name=null,$value=null){ 
  2.   static $_config = array(); 
  3.    if(!is_null($name)){ 
  4.     if(is_string($name)){ 
  5.      if(is_null($value)){ 
  6.       if(!strpos($name,'.')){ 
  7.        $name = strtolower($name); 
  8.        return isset($_config[$name]) ? $_config[$name] : null;  
  9.       }else
  10.        $name = explode('.',$name); 
  11.        $name[0] = strtolower($name[0]); 
  12.        return isset($_config[$name[0]][$name[1]]) ? $_config[$name[0]][$name[1]] : null; 
  13.       } 
  14.      }else
  15.       if(!strpos($name,'.')){ 
  16.        $_config[strtolower($name)] = $value
  17.       }else
  18.        $name = explode('.',$name); 
  19.        $_config[strtolower($name[0])][$name[1]] = $value
  20.       } 
  21.       return ; 
  22.      } 
  23.     }elseif(is_array($name)){ 
  24.      if(is_null($value)) 
  25.       $_config = array_merge($_config,$name); 
  26.      else
  27.       $_config[$value] = $name
  28.      } 
  29.      return ; 
  30.     } 
  31.    }else
  32.        return emptyempty($_config) ? null: $_config
  33.   } 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 荆州市| 泗水县| 大同市| 赣州市| 泰州市| 长顺县| 临漳县| 吴桥县| 遂溪县| 石棉县| 青铜峡市| 深圳市| 天峻县| 宁河县| 涞水县| 体育| 沁源县| 汉沽区| 霍山县| 托克逊县| 武城县| 日照市| 民乐县| 南召县| 彭水| 京山县| 乌恰县| 陕西省| 永年县| 兰州市| 康乐县| 贵南县| 龙陵县| 永新县| 阜阳市| 高州市| 湖南省| 惠水县| 临漳县| 新营市| 安国市|