您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關thinkPHP5.0框架配置格式、加載解析與讀取的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
具體如下:
ThinkPHP支持多種格式的配置格式,但最終都是解析為PHP數組的方式。
PHP數組定義
返回PHP數組的方式是默認的配置定義格式,例如:
//項目配置文件 return [ // 默認模塊名 'default_module' => 'index', // 默認控制器名 'default_controller' => 'Index', // 默認操作名 'default_action' => 'index', //更多配置參數 //... ];
配置參數名不區分大小寫(因為無論大小寫定義都會轉換成小寫),新版的建議是使用小寫定義配置參數的規范。
還可以在配置文件中可以使用二維數組來配置更多的信息,例如:
//項目配置文件 return [ 'cache' => [ 'type' => 'File', 'path' => CACHE_PATH, 'prefix' => '', 'expire' => 0, ], ];
其他配置格式支持
除了使用原生PHP數組之外,還可以使用json/xml/ini等其他格式支持(通過驅動的方式擴展)。
例如,我們可以使用下面的方式讀取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 }
二級配置
配置參數支持二級,例如,下面是一個二級配置的設置和讀取示例:
$config = [ 'user' => ['type'=>1,'name'=>'thinkphp'], 'db' => ['type'=>'mysql','user'=>'root','password'=>''], ]; // 設置配置參數 Config::set($config); // 讀取二級配置參數 echo Config::get('user.type'); // 或者使用助手函數 echo config('user.type');
系統不支持二級以上的配置參數讀取,需要手動分步驟讀取。
有作用域的情況下,仍然支持二級配置的操作。
如果采用其他格式的配置文件的話,二級配置定義方式如下(以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');
讀取配置參數
設置完配置參數后,就可以使用get方法讀取配置了,例如:
echo Config::get('配置參數1');
系統為get方法定義了一個助手config,以上可以簡化為:
echo config('配置參數1');
讀取所有的配置參數:
dump(Config::get()); // 或者 dump(config());
或者你需要判斷是否存在某個設置參數:
Config::has('配置參數2');
如果需要讀取二級配置,可以使用:
echo Config::get('配置參數.二級參數');
感謝各位的閱讀!關于“thinkPHP5.0框架配置格式、加載解析與讀取的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。