溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

easyswoole如何實現(xiàn)載入自定義配置文件夾所有配置文件的封裝

發(fā)布時間:2021-10-12 11:21:39 來源:億速云 閱讀:207 作者:iii 欄目:編程語言

本篇內(nèi)容主要講解“easyswoole如何實現(xiàn)載入自定義配置文件夾所有配置文件的封裝”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“easyswoole如何實現(xiàn)載入自定義配置文件夾所有配置文件的封裝”吧!

修改easyswoole的配置類

//類文件路徑 //easyswoole/vendor/easyswoole/easyswoole/src/Config.php//引入File組件use EasySwoole\Utility\File;//在類中定義方法/**
     * 載入自定義配置文件夾里的所有配置文件
     * @param string $dirPath 配置文件夾
     * @param bool $merge 是否將內(nèi)容合并入主配置
     * @author : lqx_chris
     */public function loadDir (string $dirPath, bool $merge = false){if(is_dir($dirPath)){$fileList = File::scanDirectory($dirPath);foreach ($fileList['files'] as $filePath){$this->loadFile($filePath,$merge);}}}

創(chuàng)建自己的配置目錄

easyswoole如何實現(xiàn)載入自定義配置文件夾所有配置文件的封裝

例:在 cache.php 和 database.php 配置文件中,我們簡單寫一些東西

//cache.phpreturn [
  'REDIS'=>'redis',];//database.phpreturn [
  'MYSQL' => ['host'          => '127.0.0.1','port'          => '3306','user'          => 'root','timeout'       => '5','charset'       => 'utf8mb4','password'      => '123456','database'      => 'easyswoole',],];

在 EasySwooleEvent.php 的 initialize 事件中載入配置

<?phpnamespace EasySwoole\EasySwoole;use EasySwoole\EasySwoole\Swoole\EventRegister;use EasySwoole\EasySwoole\AbstractInterface\Event;use EasySwoole\Http\Request;use EasySwoole\Http\Response;use EasySwoole\ORM\Db\Config as ORMConfig;use EasySwoole\ORM\DbManager;use EasySwoole\ORM\Db\Connection;class EasySwooleEvent implements Event{public static function initialize(){// TODO: Implement initialize() method.date_default_timezone_set('Asia/Shanghai');//載入配置文件夾文件Config::getInstance()->loadDir(EASYSWOOLE_ROOT . '/Config', true);//配置ORM$config = new ORMConfig(Config::getInstance()->getConf("MYSQL"));//注冊O(shè)RM連接池DbManager::getInstance()->addConnection(new Connection($config));}public static function onRequest(Request $request, Response $response): bool{// TODO: Implement onRequest() method.// 請求進(jìn)來時輸出一下配置信息,看看是否成功var_dump(Config::getInstance()->getConf());return true;}}
//啟動$ php easyswoole start//請求Easyswoolelocalhost:9501//輸出信息中,除了主配置,我們可以看到我們自己文件夾的配置也合并載入了
  ["MYSQL"]=>
  array(7) {["host"]=>string(9) "127.0.0.1"["port"]=>string(4) "3306"["user"]=>string(4) "root"["timeout"]=>string(1) "5"["charset"]=>string(7) "utf8mb4"["password"]=>string(5) "12345"["database"]=>string(6) "easyswoole"
  }
  ["REDIS"]=>
  string(5) "redis"

到此,相信大家對“easyswoole如何實現(xiàn)載入自定義配置文件夾所有配置文件的封裝”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI