1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/leubao-daxiong-system

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
EasySwooleEvent.php 3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
srw Отправлено 30.08.2024 05:12 5ae85fc
<?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();
}
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/leubao-daxiong-system.git
git@api.gitlife.ru:oschina-mirror/leubao-daxiong-system.git
oschina-mirror
leubao-daxiong-system
leubao-daxiong-system
master