本文實例講述了thinkPHP5.0框架配置格式、加載解析與讀取方法。分享給大家供大家參考,具體如下:
ThinkPHP支持多種格式的配置格式,但最終都是解析為PHP數(shù)組的方式。
PHP數(shù)組定義
返回PHP數(shù)組的方式是默認的配置定義格式,例如:
//項目配置文件 return [ // 默認模塊名 'default_module' => 'index', // 默認控制器名 'default_controller' => 'Index', // 默認操作名 'default_action' => 'index', //更多配置參數(shù) //... ];
配置參數(shù)名不區(qū)分大小寫(因為無論大小寫定義都會轉(zhuǎn)換成小寫),新版的建議是使用小寫定義配置參數(shù)的規(guī)范。
還可以在配置文件中可以使用二維數(shù)組來配置更多的信息,例如:
//項目配置文件 return [ 'cache' => [ 'type' => 'File', 'path' => CACHE_PATH, 'prefix' => '', 'expire' => 0, ], ];
其他配置格式支持
除了使用原生PHP數(shù)組之外,還可以使用json/xml/ini等其他格式支持(通過驅(qū)動的方式擴展)。
例如,我們可以使用下面的方式讀取json配置文件:
Config::parse(APP_PATH.'config/config.json');
ini格式配置示例:
DEFAULT_MODULE=Index ;默認模塊
URL_MODEL=2 ;URL模式
SESSION_AUTO_START=on ;是否開啟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 }
二級配置
配置參數(shù)支持二級,例如,下面是一個二級配置的設(shè)置和讀取示例:
$config = [ 'user' => ['type'=>1,'name'=>'thinkphp'], 'db' => ['type'=>'mysql','user'=>'root','password'=>''], ]; // 設(shè)置配置參數(shù) Config::set($config); // 讀取二級配置參數(shù) echo Config::get('user.type'); // 或者使用助手函數(shù) echo config('user.type');
系統(tǒng)不支持二級以上的配置參數(shù)讀取,需要手動分步驟讀取。
有作用域的情況下,仍然支持二級配置的操作。
如果采用其他格式的配置文件的話,二級配置定義方式如下(以ini和xml為例):
[user] type=1 name=thinkphp [db] type=mysql user=rot password=''
標準的xml格式文件定義:
<config> <user> <type>1</type> <name>thinkphp</name> </user> <db> <type>mysql</type> <user>root</user> <password></password> </db> </config>
set方法也支持二級配置,例如:
Config::set([ 'type' => 'file', 'prefix' => 'think' ],'cache');
讀取配置參數(shù)
設(shè)置完配置參數(shù)后,就可以使用get方法讀取配置了,例如:
echo Config::get('配置參數(shù)1');
系統(tǒng)為get方法定義了一個助手config,以上可以簡化為:
echo config('配置參數(shù)1');
讀取所有的配置參數(shù):
dump(Config::get()); // 或者 dump(config());
或者你需要判斷是否存在某個設(shè)置參數(shù):
Config::has('配置參數(shù)2');
如果需要讀取二級配置,可以使用:
echo Config::get('配置參數(shù).二級參數(shù)');
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》、《smarty模板入門基礎(chǔ)教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計有所幫助。