修改easyswoole的配置类
代码语言:javascript复制//类文件路径 //easyswoole/vendor/easyswoole/easyswoole/src/Config.php
//引入File组件
use EasySwooleUtilityFile;
//在类中定义方法
/**
* 载入自定义配置文件夹里的所有配置文件
* @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);
}
}
}
创建自己的配置目录
例:在 cache.php 和 database.php 配置文件中,我们简单写一些东西
代码语言:javascript复制//cache.php
return [
'REDIS'=>'redis',
];
//database.php
return [
'MYSQL' => [
'host' => '127.0.0.1',
'port' => '3306',
'user' => 'root',
'timeout' => '5',
'charset' => 'utf8mb4',
'password' => '123456',
'database' => 'easyswoole',
],
];
在 EasySwooleEvent.php 的 initialize 事件中载入配置
代码语言:javascript复制<?php
namespace EasySwooleEasySwoole;
use EasySwooleEasySwooleSwooleEventRegister;
use EasySwooleEasySwooleAbstractInterfaceEvent;
use EasySwooleHttpRequest;
use EasySwooleHttpResponse;
use EasySwooleORMDbConfig as ORMConfig;
use EasySwooleORMDbManager;
use EasySwooleORMDbConnection;
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;
}
}
代码语言:javascript复制//启动
$ php easyswoole start
//请求Easyswoole
localhost: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 3.4x的版本中,使用3.4x版本的同学可以直接使用啦~~~~