代码拉取完成,页面将自动刷新
<?php
declare(strict_types=1);
/**
* EasySwooleEvent.php
* Company: 承德讯洲信息科技有限公司
* User: lizhiqiang
* Project: tianshu-system
*
* @desc: 主服务创建事件
*/
namespace EasySwoole\EasySwoole;
use Core\Exception\TriggerHandler;
use Core\Init\App;
use Core\Init\Config as SysConfig;
use Core\Init\Crontab;
use Core\Init\CrossSite;
use Core\Init\FastCache;
use Core\Init\HotLoad;
use Core\Init\Orm;
use Core\Init\Point;
use Core\Init\Queue;
use Core\Init\Redis;
use Core\Init\Render;
use Core\Init\Route;
use Core\Init\Session;
use Core\Init\WebSocket;
use Core\Log\LogHandler;
use EasySwoole\Component\Di;
use EasySwoole\EasySwoole\AbstractInterface\Event;
use EasySwoole\EasySwoole\Swoole\EventRegister;
use EasySwoole\Http\Request;
use EasySwoole\Http\Response;
class EasySwooleEvent implements Event
{
/**
* 初始化框架相关参数
*
* @throws \EasySwoole\Session\Exception
*/
public static function initialize()
{
// 设置时区
date_default_timezone_set('Asia/Shanghai');
//配置初始化
SysConfig::init();
//设置默认控制器命名空间
Route::init();
// 注册 trigger
Trigger::getInstance(new TriggerHandler());
// 注册自定义 `logger` 处理器
Di::getInstance()->set(SysConst::LOGGER_HANDLER, new LogHandler());
// 设置onRequest参数
Di::getInstance()->set(SysConst::HTTP_GLOBAL_ON_REQUEST, function (Request $request, Response $response) {
// 跨域处理
CrossSite::handle($request, $response);
if ($request->getMethod() === 'OPTIONS') {
$response->withStatus(\EasySwoole\Http\Message\Status::CODE_OK);
return false;
}
// 注册session
Session::register($request, $response);
// 链路追踪
Point::register($request);
return true;
});
// 设置afterRequest参数
Di::getInstance()->set(SysConst::HTTP_GLOBAL_AFTER_REQUEST, function (Request $request, Response $response) {
if ($request->getMethod() !== 'OPTIONS') {
// session写入
Session::write($request);
//链路追踪写入
// Point::log($request, $response);
}
});
}
/**
* 主服务创建事件
*
* @param EventRegister $register
*/
public static function mainServerCreate(EventRegister $register)
{
//ORM的连接注册
Orm::init();
//Redis连接池注册
Redis::init();
// 热重载
HotLoad::init();
// fast-cache
FastCache::init();
// 定时任务注册
Crontab::init();
// 注册队列驱动器
Queue::init();
// 注册websocket
WebSocket::init($register);
//注册渲染引擎
Render::init();
//应用初始化
App::init();
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。