最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

thinkPHP中配置的讀取與C方法詳解

 更新時(shí)間:2016年12月05日 11:17:31   作者:牛逼的霍嘯林  
這篇文章主要介紹了thinkPHP中配置的讀取與C方法,結(jié)合實(shí)例形式分析了thinkPHP配置文件的功能、位置、分組及讀取方法,需要的朋友可以參考下

本文實(shí)例講述了thinkPHP中配置的讀取與C方法。分享給大家供大家參考,具體如下:

1.項(xiàng)目公共配置

Conf/config.php

內(nèi)容如下

<?php
/**
 *項(xiàng)目公共配置
 *@package
 *@author
 **/
return array(
 'LOAD_EXT_CONFIG'   => 'db,info,email,safe,upfile,cache,route,app,alipay,sms,platform,store,pay',  
 'APP_AUTOLOAD_PATH'  => '@.ORG',
 'OUTPUT_ENCODE'   => true,    //頁(yè)面壓縮輸出
 'PAGE_NUM'    => 15,
 /*Cookie配置*/
 'COOKIE_PATH'   => '/',    // Cookie路徑
 'COOKIE_PREFIX'   => '',    // Cookie前綴 避免沖突
 /*定義模版標(biāo)簽*/
 'TMPL_L_DELIM'   =>'{sh:',   //模板引擎普通標(biāo)簽開始標(biāo)記
 'TMPL_R_DELIM'   =>'}',    //模板引擎普通標(biāo)簽結(jié)束標(biāo)記
 'TMPL_CACHE_ON'   => false,   //關(guān)閉模板緩存
 'DEFAULT_GROUP'   => 'Home',   //默認(rèn)訪問(wèn)分組,設(shè)置默認(rèn)入口
 'APP_GROUP_LIST'  => 'Agent,Home,System,User,Store,Wap,Mall,Opener',  // 項(xiàng)目分組設(shè)定,多個(gè)組之間用逗號(hào)分隔,例如'Home,Admin'
 'PUBLIC_RESOURSE'  => './Public/',
 'URL_404_REDIRECT'  => './Tpl/404.html',
);
?>

'LOAD_EXT_CONFIG' => 'db,info,email,safe,upfile,cache,route,app,alipay,sms,platform,store,pay' 確定加載的額外的配置,這些配置都可以通過(guò)C()方法讀取,全局有效。

2.如果啟用了模塊分組,則可以在對(duì)每個(gè)分組單獨(dú)定義配置文件,分組配置文件位于:

項(xiàng)目配置目錄/分組名稱/config.php

'APP_GROUP_LIST' => 'Home,Admin', //項(xiàng)目分組設(shè)定
'DEFAULT_GROUP' => 'Home', //默認(rèn)分組

現(xiàn)在定義了Home和Admin兩個(gè)分組,則我們可以定義分組配置文件如下:

Conf/Home/config.php
Conf/Admin/config.php

每個(gè)分組的配置文件僅在當(dāng)前分組有效,分組配置的定義格式和項(xiàng)目配置是一樣的。

注意:分組名稱區(qū)分大小寫,必須和定義的分組名一致。

3.讀取配置

定義了配置文件之后,可以使用系統(tǒng)提供的C方法(如果覺(jué)得比較奇怪的話,可以借助Config單詞來(lái)幫助記憶)來(lái)讀取已有的配置

C('參數(shù)名稱')//獲取已經(jīng)設(shè)置的參數(shù)值

例如,C('APP_STATUS') 可以讀取到系統(tǒng)的調(diào)試模式的設(shè)置值,同樣,由于配置參數(shù)不區(qū)分大小寫,因此C('app_status')是等效的,但是建議使用大寫方式的規(guī)范。

如果APP_STATUS尚未存在設(shè)置,則返回NULL。

C方法同樣可以用于讀取二維配置

C('USER_CONFIG.USER_TYPE')//獲取用戶配置中的用戶類型設(shè)置

C方法讀取全局配置,以及當(dāng)前模塊的配置。

參數(shù)沒(méi)有的話,將讀取全部的有效配置。

如果存在相同的配置名,前面的值將被覆蓋。

例如:

'HTML_CACHE_TIME' => 60, //靜態(tài)緩存有效期(秒)
'HTML_CACHE_TIME' => 80, 

最終獲取的是80。

加載順序依照參數(shù)LOAD_EXT_CONFIG

'LOAD_EXT_CONFIG' => 'db,info,email,safe,upfile,cache,route,app,alipay,sms,platform,store,pay'

比如info中有個(gè)參數(shù)HTML_CACHE_TIME 為60 ,其余配置中沒(méi)有,那么這個(gè)參數(shù)讀取出來(lái)就是60。

如果db中也有HTML_CACHE_TIME為50,那么值還是60。因?yàn)閕nfo是后讀取的,把db中的HTML_CACHE_TIME覆蓋掉了。

附上C方法源碼

/**
 * 獲取和設(shè)置配置參數(shù) 支持批量定義
 * @param string|array $name 配置變量
 * @param mixed $value 配置值
 * @return mixed
 */
function C($name=null, $value=null) {
 static $_config = array();
 // 無(wú)參數(shù)時(shí)獲取所有
 if (empty($name)) {
  if(!empty($value) && $array = cache('c_'.$value)) {
   $_config = array_merge($_config, array_change_key_case($array));
  }
  return $_config;
 }
 // 優(yōu)先執(zhí)行設(shè)置獲取或賦值
 if (is_string($name)) {
  if (!strpos($name, '.')) {
   $name = strtolower($name);
   if (is_null($value))
    return isset($_config[$name]) ? $_config[$name] : null;
   $_config[$name] = $value;
   return;
  }
  // 二維數(shù)組設(shè)置和獲取支持
  $name = explode('.', $name);
  $name[0] = strtolower($name[0]);
  if (is_null($value))
   return isset($_config[$name[0]][$name[1]]) ? $_config[$name[0]][$name[1]] : null;
  $_config[$name[0]][$name[1]] = $value;
  return;
 }
 // 批量設(shè)置
 if (is_array($name)){
  $_config = array_merge($_config, array_change_key_case($name));
  if(!empty($value)) {// 保存配置值
   cache('c_'.$value,$_config);
  }
  return;
 }
 return null; // 避免非法參數(shù)
}

更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》、《smarty模板入門基礎(chǔ)教程》及《PHP模板技術(shù)總結(jié)》。

希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • PHP使用header方式實(shí)現(xiàn)文件下載功能

    PHP使用header方式實(shí)現(xiàn)文件下載功能

    這篇文章主要介紹了PHP使用header方式實(shí)現(xiàn)文件下載功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-11-11
  • 淺談PHP匿名函數(shù)和閉包

    淺談PHP匿名函數(shù)和閉包

    這篇文章主要介紹了PHP匿名函數(shù)和閉包,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • ThinkPHP調(diào)用common/common.php函數(shù)提示錯(cuò)誤function undefined的解決方法

    ThinkPHP調(diào)用common/common.php函數(shù)提示錯(cuò)誤function undefined的解決方法

    這篇文章主要介紹了ThinkPHP調(diào)用common/common.php函數(shù)提示錯(cuò)誤function undefined的解決方法,是進(jìn)行ThinkPHP程序設(shè)計(jì)的升級(jí)過(guò)程中經(jīng)常會(huì)遇到的問(wèn)題,需要的朋友可以參考下
    2014-08-08
  • PHP的中問(wèn)驗(yàn)證碼

    PHP的中問(wèn)驗(yàn)證碼

    PHP的中問(wèn)驗(yàn)證碼...
    2006-11-11
  • PHP中abstract(抽象)、final(最終)和static(靜態(tài))原理與用法詳解

    PHP中abstract(抽象)、final(最終)和static(靜態(tài))原理與用法詳解

    這篇文章主要介紹了PHP中abstract(抽象)、final(最終)和static(靜態(tài)),結(jié)合實(shí)例形式分析了PHP中abstract(抽象)、final(最終)和static(靜態(tài))基本功能、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2020-06-06
  • ThinkPHP下表單令牌錯(cuò)誤與解決方法分析

    ThinkPHP下表單令牌錯(cuò)誤與解決方法分析

    這篇文章主要介紹了ThinkPHP下表單令牌錯(cuò)誤與解決方法,較為詳細(xì)的分析了thinkPHP表單令牌的原理、配置、錯(cuò)誤原因與相應(yīng)的解決方法,需要的朋友可以參考下
    2017-05-05
  • thinkphp模板輸出技巧匯總

    thinkphp模板輸出技巧匯總

    這篇文章主要介紹了thinkphp模板輸出技巧,實(shí)例匯總了變量輸出、系統(tǒng)變量、運(yùn)算符等常用是輸出技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-11-11
  • php結(jié)合正則批量抓取網(wǎng)頁(yè)中郵箱地址

    php結(jié)合正則批量抓取網(wǎng)頁(yè)中郵箱地址

    目前在做一個(gè)項(xiàng)目,需要提取一個(gè)小型網(wǎng)站的所有郵箱地址,度娘了一下,方法還挺多,這里給大家總結(jié)幾個(gè)比較實(shí)用的,分享給大家。
    2015-05-05
  • 使用phpstorm和xdebug實(shí)現(xiàn)遠(yuǎn)程調(diào)試的方法

    使用phpstorm和xdebug實(shí)現(xiàn)遠(yuǎn)程調(diào)試的方法

    vs的斷點(diǎn)調(diào)試功能很強(qiáng)大有木有,能查看所有變量有木有。php調(diào)試很麻煩有木有,echo,var_dump寫得你想吐了有木有。想體驗(yàn)一下ide調(diào)試的快感嗎?那就來(lái)使用xdebug吧
    2015-12-12
  • PHP網(wǎng)站開發(fā)中常用的8個(gè)小技巧

    PHP網(wǎng)站開發(fā)中常用的8個(gè)小技巧

    這篇文章主要介紹了PHP網(wǎng)站開發(fā)中常用的8個(gè)小技巧,本文講解了命名、使用、PHP判斷Form表單是否提交、PHP 獲取字符串長(zhǎng)度、PHP超全局對(duì)象等內(nèi)容,需要的朋友可以參考下
    2015-02-02

最新評(píng)論

体育| 京山县| 合山市| 嘉义县| 肥西县| 上高县| 盱眙县| 肇州县| 阳东县| 渭南市| 洪泽县| 河南省| 平远县| 双牌县| 五指山市| 博爱县| 屏山县| 礼泉县| 罗平县| 天水市| 尤溪县| 陆良县| 金沙县| 北海市| 武城县| 普陀区| 吉林省| 云霄县| 双江| 上林县| 宿迁市| 四平市| 定安县| 合肥市| 威远县| 井冈山市| 京山县| 兴仁县| 平乡县| 界首市| 堆龙德庆县|