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'),
    ],

];

複製代碼

在別處調用使用

1

2

3

4

5

6

7

8

9

10

11

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

var_export($mysqlConf);

 

//結果

array (

  'host' => '127.0.0.1',

  'port' => '3306',

  'username' => 'root',

  'password' => 'root',

  'timeout' => '30',

)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章