easyswoole學習,自定義配置文件路徑


easyswoole 中 \EasySwoole\EasySwoole\Config 類讀取配置信息使用 Config::getInstance()->getConf() 方法,實際上是從swoole的內存table中讀取,

因此可以在框架初始化時就往table中寫入配置文件信息,在

EasySwooleEvent::initialize()

方法中加入載入配置文件的方法

 

定義loadConf方法

    /** * 加載配置文件 */
    public static function loadConf() { //遍歷目錄中的文件
        $files = File::scanDirectory(EASYSWOOLE_ROOT . '/App/Conf'); if (is_array($files)) { //$files['files'] 一級目錄下所有的文件,不包括文件夾
            foreach ($files['files'] as $file) { $fileNameArr = explode('.', $file); $fileSuffix = end($fileNameArr);
if ($fileSuffix == 'php') { \EasySwoole\EasySwoole\Config::getInstance()->loadFile($file);//引入之后,文件名自動轉為小寫,成為配置的key } } } }

 在APP目錄下創建Conf文件夾(大小寫敏感)

創建mysql.php

<?php

return [
    'vod' => [
        'host' => \Yaconf::get('mysql.vod.host'),
        'port' => \Yaconf::get('mysql.vod.port'),
        'username' => \Yaconf::get('mysql.vod.username'),
        'password' => \Yaconf::get('mysql.vod.password'),
        'timeout' => \Yaconf::get('mysql.vod.timeout'),
    ],

];

在別處調用使用

$mysqlConf = Config::getInstance()->getConf('mysql.vod');
var_export($mysqlConf);

//結果
array (
  'host' => '127.0.0.1',
  'port' => '3306',
  'username' => 'root',
  'password' => 'root',
  'timeout' => '30',
)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM