create('admin', $config['db']['core']['masters']['admin']); $GLOBALS['dbpool']->create('select', $config['db']['core']['masters']['select']); $GLOBALS['dbpool']->create('update', $config['db']['core']['masters']['update']); $GLOBALS['dbpool']->create('insert', $config['db']['core']['masters']['insert']); $GLOBALS['dbpool']->create('schema', $config['db']['core']['masters']['schema']); $httpSession = new HttpSession(); $GLOBALS['session'] = $httpSession; DataMapperAbstract::setConnection($GLOBALS['dbpool']->get()); $app = new class() extends ApplicationAbstract { protected string $appName = 'Socket'; }; $app->logger = FileLogger::getInstance(__DIR__ . '/server.log', true); $app->dbPool = $GLOBALS['dbpool']; $app->orgId = 1; $app->cachePool = new CachePool($app->dbPool); $app->accountManager = new AccountManager($GLOBALS['session']); $app->appSettings = new CoreSettings($app->dbPool->get()); $app->moduleManager = new ModuleManager($app, __DIR__ . '/../../../../Modules'); $app->dispatcher = new Dispatcher($app); $app->eventManager = new EventManager($app->dispatcher); $app->eventManager->importFromFile(__DIR__ . '/../../../Socket/Hooks.php'); $app->l11nManager = new L11nManager($app->appName); $app->router = new SocketRouter(); $socket = new Server($app); $socket->create('127.0.0.1', $config['socket']['master']['port']); $socket->setLimit(1); $app->router->add('^shutdown$', function($app, $request) use ($socket) { $socket->shutdown($request); }); $socket->run();