温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

easyswoole如何实现载入自定义配置文件夹所有配置文件的封装

发布时间:2021-10-12 11:21:39 来源:亿速云 阅读:210 作者:iii 栏目:编程语言

本篇内容主要讲解“easyswoole如何实现载入自定义配置文件夹所有配置文件的封装”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“easyswoole如何实现载入自定义配置文件夹所有配置文件的封装”吧!

修改easyswoole的配置类

//类文件路径 //easyswoole/vendor/easyswoole/easyswoole/src/Config.php//引入File组件use EasySwoole\Utility\File;//在类中定义方法/**
     * 载入自定义配置文件夹里的所有配置文件
     * @param string $dirPath 配置文件夹
     * @param bool $merge 是否将内容合并入主配置
     * @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);}}}

创建自己的配置目录

easyswoole如何实现载入自定义配置文件夹所有配置文件的封装

例:在 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"));//注册ORM连接池DbManager::getInstance()->addConnection(new Connection($config));}public static function onRequest(Request $request, Response $response): bool{// TODO: Implement onRequest() method.// 请求进来时输出一下配置信息,看看是否成功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如何实现载入自定义配置文件夹所有配置文件的封装”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI