thinkPHP5.0框架配置格式、加載解析與讀取方法
本文實(shí)例講述了thinkPHP5.0框架配置格式、加載解析與讀取方法。分享給大家供大家參考,具體如下:
ThinkPHP支持多種格式的配置格式,但最終都是解析為PHP數(shù)組的方式。
PHP數(shù)組定義
返回PHP數(shù)組的方式是默認(rèn)的配置定義格式,例如:
//項(xiàng)目配置文件 return [ // 默認(rèn)模塊名 'default_module' => 'index', // 默認(rèn)控制器名 'default_controller' => 'Index', // 默認(rèn)操作名 'default_action' => 'index', //更多配置參數(shù) //... ];
配置參數(shù)名不區(qū)分大小寫(因?yàn)闊o(wú)論大小寫定義都會(huì)轉(zhuǎn)換成小寫),新版的建議是使用小寫定義配置參數(shù)的規(guī)范。
還可以在配置文件中可以使用二維數(shù)組來(lái)配置更多的信息,例如:
//項(xiàng)目配置文件 return [ 'cache' => [ 'type' => 'File', 'path' => CACHE_PATH, 'prefix' => '', 'expire' => 0, ], ];
其他配置格式支持
除了使用原生PHP數(shù)組之外,還可以使用json/xml/ini等其他格式支持(通過(guò)驅(qū)動(dòng)的方式擴(kuò)展)。
例如,我們可以使用下面的方式讀取json配置文件:
Config::parse(APP_PATH.'config/config.json');
ini格式配置示例:
DEFAULT_MODULE=Index ;默認(rèn)模塊
URL_MODEL=2 ;URL模式
SESSION_AUTO_START=on ;是否開(kāi)啟session
xml格式配置示例:
<config> <default_module>Index</default_module> <url_model>2</url_model> <session_auto_start>1</session_auto_start> </config>
json格式配置示例:
{ "default_module":"Index", "url_model":2, "session_auto_start":True }
二級(jí)配置
配置參數(shù)支持二級(jí),例如,下面是一個(gè)二級(jí)配置的設(shè)置和讀取示例:
$config = [ 'user' => ['type'=>1,'name'=>'thinkphp'], 'db' => ['type'=>'mysql','user'=>'root','password'=>''], ]; // 設(shè)置配置參數(shù) Config::set($config); // 讀取二級(jí)配置參數(shù) echo Config::get('user.type'); // 或者使用助手函數(shù) echo config('user.type');
系統(tǒng)不支持二級(jí)以上的配置參數(shù)讀取,需要手動(dòng)分步驟讀取。
有作用域的情況下,仍然支持二級(jí)配置的操作。
如果采用其他格式的配置文件的話,二級(jí)配置定義方式如下(以ini和xml為例):
[user] type=1 name=thinkphp [db] type=mysql user=rot password=''
標(biāo)準(zhǔn)的xml格式文件定義:
<config> <user> <type>1</type> <name>thinkphp</name> </user> <db> <type>mysql</type> <user>root</user> <password></password> </db> </config>
set方法也支持二級(jí)配置,例如:
Config::set([ 'type' => 'file', 'prefix' => 'think' ],'cache');
讀取配置參數(shù)
設(shè)置完配置參數(shù)后,就可以使用get方法讀取配置了,例如:
echo Config::get('配置參數(shù)1');
系統(tǒng)為get方法定義了一個(gè)助手config,以上可以簡(jiǎn)化為:
echo config('配置參數(shù)1');
讀取所有的配置參數(shù):
dump(Config::get()); // 或者 dump(config());
或者你需要判斷是否存在某個(gè)設(shè)置參數(shù):
Config::has('配置參數(shù)2');
如果需要讀取二級(jí)配置,可以使用:
echo Config::get('配置參數(shù).二級(jí)參數(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ì)有所幫助。
- thinkPHP框架動(dòng)態(tài)配置用法實(shí)例分析
- thinkPHP5.0框架獨(dú)立配置與動(dòng)態(tài)配置方法
- Thinkphp 框架配置操作之配置加載與讀取配置實(shí)例分析
- ThinkPHP 5.1 跨域配置方法
- ThinkPHP3.2框架自定義配置和加載用法示例
- Nginx下ThinkPHP5的配置方法詳解
- thinkPHP5.0框架簡(jiǎn)單配置作用域的方法
- thinkPHP5.0框架環(huán)境變量配置方法
- thinkPHP中鉤子的兩種配置調(diào)用方法詳解
- Thinkphp 框架配置操作之動(dòng)態(tài)配置、擴(kuò)展配置及批量配置實(shí)例分析
相關(guān)文章
基于PHP讀取TXT文件向數(shù)據(jù)庫(kù)導(dǎo)入海量數(shù)據(jù)的方法
本篇文章小編為大家介紹,基于PHP讀取TXT文件向數(shù)據(jù)庫(kù)導(dǎo)入海量數(shù)據(jù)的方法。需要的朋友參考下2013-04-04ThinkPhP+Apache+PHPstorm整合框架流程圖解
這篇文章主要介紹了ThinkPhP+Apache+PHPstorm整合框架流程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11php設(shè)計(jì)模式之單例模式用法經(jīng)典示例分析
這篇文章主要介紹了php設(shè)計(jì)模式之單例模式用法,結(jié)合具體實(shí)例形式分析了php單例模式的概念、原理、定義及使用方法,需要的朋友可以參考下2019-09-09使用PHP進(jìn)行微信公眾平臺(tái)開(kāi)發(fā)的示例
這篇文章主要介紹了使用PHP進(jìn)行微信公眾平臺(tái)開(kāi)發(fā)的示例,包括基本的微信平臺(tái)API調(diào)用和XML處理等,需要的朋友可以參考下2015-08-08PHP date()函數(shù)警告: It is not safe to rely on the system解決方法
這篇文章主要介紹了PHP date()函數(shù)警告: It is not safe to rely on the system解決方法,其實(shí)就是時(shí)區(qū)設(shè)置不正確造成的,本文提供了兩種方法來(lái)解決這個(gè)問(wèn)題,需要的朋友可以參考下2014-08-08讓codeigniter與swfupload整合的最佳解決方案
網(wǎng)上有很多關(guān)于ci與swfupload的帖子,不過(guò),并不是很完整,所以,這里綜合各家優(yōu)點(diǎn),經(jīng)過(guò)自己實(shí)際經(jīng)驗(yàn),做了下整理,需要的朋友可以參考下2014-06-06