Skip to content

Instantly share code, notes, and snippets.

@NHZEX
Created October 7, 2021 16:54
Show Gist options
  • Save NHZEX/a83e370339549d640c99ba9f24c744bd to your computer and use it in GitHub Desktop.
Save NHZEX/a83e370339549d640c99ba9f24c744bd to your computer and use it in GitHub Desktop.
imi ide helper
<?php
namespace PHPSTORM_META {
override(\Imi\App::getBean(0), map([
'' => '@',
'FileCache' => Imi\Cache\Handler\File::class,
'RedisCache' => Imi\Cache\Handler\Redis::class,
'RedisHashCache' => Imi\Cache\Handler\RedisHash::class,
'DefaultRuntimeModeHandler' => Imi\Core\Runtime\Handler\DefaultRuntimeModeHandler::class,
'CronCalculator' => Imi\Cron\CronCalculator::class,
'CronLock' => Imi\Cron\CronLock::class,
'CronManager' => Imi\Swoole\Cron\CronManager::class,
'CronWorker' => Imi\Cron\CronWorker::class,
'CronScheduler' => Imi\Swoole\Cron\Scheduler::class,
'DbQueryLog' => Imi\Db\Event\DbQueryLog::class,
'MysqliDriver' => Imi\Db\Mysql\Drivers\Mysqli\Driver::class,
'PdoMysqlDriver' => Imi\Db\Mysql\Drivers\PdoMysql\Driver::class,
'RedisLock' => Imi\Lock\Handler\Redis::class,
'ErrorLog' => Imi\Log\ErrorLog::class,
'Logger' => Imi\Log\Logger::class,
'PoolConfig' => Imi\Pool\PoolConfig::class,
'AutoRunProcessManager' => Imi\Process\AutoRunProcessManager::class,
'ConnectionContextLocal' => Imi\Server\ConnectionContext\StoreHandler\Local::class,
'ConnectionContextRedis' => Imi\Server\ConnectionContext\StoreHandler\Redis::class,
'ConnectionContextStore' => Imi\Server\ConnectionContext\StoreHandler::class,
'ClientIdMap' => Imi\Server\Group\ClientIdMap::class,
'ServerGroup' => Imi\Server\Group\Group::class,
'GroupLocal' => Imi\Server\Group\Handler\Local::class,
'GroupRedis' => Imi\Server\Group\Handler\Redis::class,
'HttpDispatcher' => Imi\Server\Http\Dispatcher::class,
'HttpErrorHandler' => Imi\Server\Http\Error\ErrorHandler::class,
'ExecuteTimeoutHandler' => Imi\Server\Http\Error\ExecuteTimeoutHandler::class,
'HttpNotFoundHandler' => Imi\Server\Http\Error\HttpNotFoundHandler::class,
'HttpRequestProxy' => Imi\Server\Http\Message\Proxy\RequestProxy::class,
'HttpResponseProxy' => Imi\Server\Http\Message\Proxy\ResponseProxy::class,
'ActionMiddleware' => Imi\Server\Http\Middleware\ActionMiddleware::class,
'ActionWrapMiddleware' => Imi\Server\Http\Middleware\ActionWrapMiddleware::class,
'OptionsMiddleware' => Imi\Server\Http\Middleware\OptionsMiddleware::class,
'RouteMiddleware' => Imi\Server\Http\Middleware\RouteMiddleware::class,
'HttpRoute' => Imi\Server\Http\Route\HttpRoute::class,
'SuperGlobals' => Imi\Server\Http\SuperGlobals\Listener\SuperGlobals::class,
'SessionFile' => Imi\Server\Session\Handler\File::class,
'SessionRedis' => Imi\Server\Session\Handler\Redis::class,
'HttpSessionMiddleware' => Imi\Server\Session\Middleware\HttpSessionMiddleware::class,
'SessionConfig' => Imi\Server\Session\SessionConfig::class,
'SessionCookie' => Imi\Server\Session\SessionCookie::class,
'SessionManager' => Imi\Server\Session\SessionManager::class,
'TcpDispatcher' => Imi\Server\TcpServer\Dispatcher::class,
'TcpRouteNotFoundHandler' => Imi\Server\TcpServer\Error\TcpRouteNotFoundHandler::class,
'TcpReceiveDataProxy' => Imi\Server\TcpServer\Message\Proxy\ReceiveDataProxy::class,
'TCPActionMiddleware' => Imi\Server\TcpServer\Middleware\ActionMiddleware::class,
'TCPActionWrapMiddleware' => Imi\Server\TcpServer\Middleware\ActionWrapMiddleware::class,
'TCPRouteMiddleware' => Imi\Server\TcpServer\Middleware\RouteMiddleware::class,
'TcpRoute' => Imi\Server\TcpServer\Route\TcpRoute::class,
'UdpDispatcher' => Imi\Server\UdpServer\Dispatcher::class,
'UdpRouteNotFoundHandler' => Imi\Server\UdpServer\Error\UdpRouteNotFoundHandler::class,
'UdpPacketDataProxy' => Imi\Server\UdpServer\Message\Proxy\PacketDataProxy::class,
'UDPActionMiddleware' => Imi\Server\UdpServer\Middleware\ActionMiddleware::class,
'UDPActionWrapMiddleware' => Imi\Server\UdpServer\Middleware\ActionWrapMiddleware::class,
'UDPRouteMiddleware' => Imi\Server\UdpServer\Middleware\RouteMiddleware::class,
'UdpRoute' => Imi\Server\UdpServer\Route\UdpRoute::class,
'HtmlView' => Imi\Server\View\Handler\Html::class,
'JsonView' => Imi\Server\View\Handler\Json::class,
'XmlView' => Imi\Server\View\Handler\Xml::class,
'View' => Imi\Server\View\View::class,
'WebSocketDispatcher' => Imi\Server\WebSocket\Dispatcher::class,
'WSRouteNotFoundHandler' => Imi\Server\WebSocket\Error\WSRouteNotFoundHandler::class,
'WebSocketFrameProxy' => Imi\Server\WebSocket\Message\Proxy\FrameProxy::class,
'WebSocketActionMiddleware' => Imi\Server\WebSocket\Middleware\ActionMiddleware::class,
'WebSocketActionWrapMiddleware' => Imi\Server\WebSocket\Middleware\ActionWrapMiddleware::class,
'WebSocketRouteMiddleware' => Imi\Server\WebSocket\Middleware\RouteMiddleware::class,
'WSRoute' => Imi\Server\WebSocket\Route\WSRoute::class,
'DefaultTimer' => Imi\Timer\Handler\DefaultTimer::class,
'SwooleMysqlDriver' => Imi\Swoole\Db\Driver\Swoole\Driver::class,
'hotUpdate' => Imi\Swoole\HotUpdate\HotUpdateProcess::class,
'AtomicLock' => Imi\Swoole\Lock\Handler\Atomic::class,
'ConnectionContextAmqp' => Imi\Swoole\Server\ConnectionContext\StoreHandler\Amqp::class,
'ConnectionContextMemoryTable' => Imi\Swoole\Server\ConnectionContext\StoreHandler\MemoryTable::class,
'GroupAmqp' => Imi\Swoole\Server\Group\Handler\Amqp::class,
'ExecuteTimeoutMiddleware' => Imi\Swoole\Server\Http\Middleware\ExecuteTimeoutMiddleware::class,
'HttpServer' => Imi\Swoole\Server\Http\Server::class,
'TcpServer' => Imi\Swoole\Server\TcpServer\Server::class,
'UdpServer' => Imi\Swoole\Server\UdpServer\Server::class,
'LocalServerUtil' => Imi\Swoole\Server\Util\LocalServerUtil::class,
'RedisServerUtil' => Imi\Swoole\Server\Util\RedisServerUtil::class,
'HandShakeMiddleware' => Imi\Swoole\Server\WebSocket\Middleware\HandShakeMiddleware::class,
'WebSocketServer' => Imi\Swoole\Server\WebSocket\Server::class,
'SwooleWorkerHandler' => Imi\Swoole\Worker\SwooleWorkerHandler::class,
'CollectService' => ImiApp\ApiServer\Service\Collect\CollectService::class,
]));
override(\Imi\RequestContext::getBean(0), map([
'' => '@',
'FileCache' => Imi\Cache\Handler\File::class,
'RedisCache' => Imi\Cache\Handler\Redis::class,
'RedisHashCache' => Imi\Cache\Handler\RedisHash::class,
'DefaultRuntimeModeHandler' => Imi\Core\Runtime\Handler\DefaultRuntimeModeHandler::class,
'CronCalculator' => Imi\Cron\CronCalculator::class,
'CronLock' => Imi\Cron\CronLock::class,
'CronManager' => Imi\Swoole\Cron\CronManager::class,
'CronWorker' => Imi\Cron\CronWorker::class,
'CronScheduler' => Imi\Swoole\Cron\Scheduler::class,
'DbQueryLog' => Imi\Db\Event\DbQueryLog::class,
'MysqliDriver' => Imi\Db\Mysql\Drivers\Mysqli\Driver::class,
'PdoMysqlDriver' => Imi\Db\Mysql\Drivers\PdoMysql\Driver::class,
'RedisLock' => Imi\Lock\Handler\Redis::class,
'ErrorLog' => Imi\Log\ErrorLog::class,
'Logger' => Imi\Log\Logger::class,
'PoolConfig' => Imi\Pool\PoolConfig::class,
'AutoRunProcessManager' => Imi\Process\AutoRunProcessManager::class,
'ConnectionContextLocal' => Imi\Server\ConnectionContext\StoreHandler\Local::class,
'ConnectionContextRedis' => Imi\Server\ConnectionContext\StoreHandler\Redis::class,
'ConnectionContextStore' => Imi\Server\ConnectionContext\StoreHandler::class,
'ClientIdMap' => Imi\Server\Group\ClientIdMap::class,
'ServerGroup' => Imi\Server\Group\Group::class,
'GroupLocal' => Imi\Server\Group\Handler\Local::class,
'GroupRedis' => Imi\Server\Group\Handler\Redis::class,
'HttpDispatcher' => Imi\Server\Http\Dispatcher::class,
'HttpErrorHandler' => Imi\Server\Http\Error\ErrorHandler::class,
'ExecuteTimeoutHandler' => Imi\Server\Http\Error\ExecuteTimeoutHandler::class,
'HttpNotFoundHandler' => Imi\Server\Http\Error\HttpNotFoundHandler::class,
'HttpRequestProxy' => Imi\Server\Http\Message\Proxy\RequestProxy::class,
'HttpResponseProxy' => Imi\Server\Http\Message\Proxy\ResponseProxy::class,
'ActionMiddleware' => Imi\Server\Http\Middleware\ActionMiddleware::class,
'ActionWrapMiddleware' => Imi\Server\Http\Middleware\ActionWrapMiddleware::class,
'OptionsMiddleware' => Imi\Server\Http\Middleware\OptionsMiddleware::class,
'RouteMiddleware' => Imi\Server\Http\Middleware\RouteMiddleware::class,
'HttpRoute' => Imi\Server\Http\Route\HttpRoute::class,
'SuperGlobals' => Imi\Server\Http\SuperGlobals\Listener\SuperGlobals::class,
'SessionFile' => Imi\Server\Session\Handler\File::class,
'SessionRedis' => Imi\Server\Session\Handler\Redis::class,
'HttpSessionMiddleware' => Imi\Server\Session\Middleware\HttpSessionMiddleware::class,
'SessionConfig' => Imi\Server\Session\SessionConfig::class,
'SessionCookie' => Imi\Server\Session\SessionCookie::class,
'SessionManager' => Imi\Server\Session\SessionManager::class,
'TcpDispatcher' => Imi\Server\TcpServer\Dispatcher::class,
'TcpRouteNotFoundHandler' => Imi\Server\TcpServer\Error\TcpRouteNotFoundHandler::class,
'TcpReceiveDataProxy' => Imi\Server\TcpServer\Message\Proxy\ReceiveDataProxy::class,
'TCPActionMiddleware' => Imi\Server\TcpServer\Middleware\ActionMiddleware::class,
'TCPActionWrapMiddleware' => Imi\Server\TcpServer\Middleware\ActionWrapMiddleware::class,
'TCPRouteMiddleware' => Imi\Server\TcpServer\Middleware\RouteMiddleware::class,
'TcpRoute' => Imi\Server\TcpServer\Route\TcpRoute::class,
'UdpDispatcher' => Imi\Server\UdpServer\Dispatcher::class,
'UdpRouteNotFoundHandler' => Imi\Server\UdpServer\Error\UdpRouteNotFoundHandler::class,
'UdpPacketDataProxy' => Imi\Server\UdpServer\Message\Proxy\PacketDataProxy::class,
'UDPActionMiddleware' => Imi\Server\UdpServer\Middleware\ActionMiddleware::class,
'UDPActionWrapMiddleware' => Imi\Server\UdpServer\Middleware\ActionWrapMiddleware::class,
'UDPRouteMiddleware' => Imi\Server\UdpServer\Middleware\RouteMiddleware::class,
'UdpRoute' => Imi\Server\UdpServer\Route\UdpRoute::class,
'HtmlView' => Imi\Server\View\Handler\Html::class,
'JsonView' => Imi\Server\View\Handler\Json::class,
'XmlView' => Imi\Server\View\Handler\Xml::class,
'View' => Imi\Server\View\View::class,
'WebSocketDispatcher' => Imi\Server\WebSocket\Dispatcher::class,
'WSRouteNotFoundHandler' => Imi\Server\WebSocket\Error\WSRouteNotFoundHandler::class,
'WebSocketFrameProxy' => Imi\Server\WebSocket\Message\Proxy\FrameProxy::class,
'WebSocketActionMiddleware' => Imi\Server\WebSocket\Middleware\ActionMiddleware::class,
'WebSocketActionWrapMiddleware' => Imi\Server\WebSocket\Middleware\ActionWrapMiddleware::class,
'WebSocketRouteMiddleware' => Imi\Server\WebSocket\Middleware\RouteMiddleware::class,
'WSRoute' => Imi\Server\WebSocket\Route\WSRoute::class,
'DefaultTimer' => Imi\Timer\Handler\DefaultTimer::class,
'SwooleMysqlDriver' => Imi\Swoole\Db\Driver\Swoole\Driver::class,
'hotUpdate' => Imi\Swoole\HotUpdate\HotUpdateProcess::class,
'AtomicLock' => Imi\Swoole\Lock\Handler\Atomic::class,
'ConnectionContextAmqp' => Imi\Swoole\Server\ConnectionContext\StoreHandler\Amqp::class,
'ConnectionContextMemoryTable' => Imi\Swoole\Server\ConnectionContext\StoreHandler\MemoryTable::class,
'GroupAmqp' => Imi\Swoole\Server\Group\Handler\Amqp::class,
'ExecuteTimeoutMiddleware' => Imi\Swoole\Server\Http\Middleware\ExecuteTimeoutMiddleware::class,
'HttpServer' => Imi\Swoole\Server\Http\Server::class,
'TcpServer' => Imi\Swoole\Server\TcpServer\Server::class,
'UdpServer' => Imi\Swoole\Server\UdpServer\Server::class,
'LocalServerUtil' => Imi\Swoole\Server\Util\LocalServerUtil::class,
'RedisServerUtil' => Imi\Swoole\Server\Util\RedisServerUtil::class,
'HandShakeMiddleware' => Imi\Swoole\Server\WebSocket\Middleware\HandShakeMiddleware::class,
'WebSocketServer' => Imi\Swoole\Server\WebSocket\Server::class,
'SwooleWorkerHandler' => Imi\Swoole\Worker\SwooleWorkerHandler::class,
'CollectService' => ImiApp\ApiServer\Service\Collect\CollectService::class,
]));
override(\Imi\Server\Contract\IServer::getBean(0), map([
'' => '@',
'FileCache' => Imi\Cache\Handler\File::class,
'RedisCache' => Imi\Cache\Handler\Redis::class,
'RedisHashCache' => Imi\Cache\Handler\RedisHash::class,
'DefaultRuntimeModeHandler' => Imi\Core\Runtime\Handler\DefaultRuntimeModeHandler::class,
'CronCalculator' => Imi\Cron\CronCalculator::class,
'CronLock' => Imi\Cron\CronLock::class,
'CronManager' => Imi\Swoole\Cron\CronManager::class,
'CronWorker' => Imi\Cron\CronWorker::class,
'CronScheduler' => Imi\Swoole\Cron\Scheduler::class,
'DbQueryLog' => Imi\Db\Event\DbQueryLog::class,
'MysqliDriver' => Imi\Db\Mysql\Drivers\Mysqli\Driver::class,
'PdoMysqlDriver' => Imi\Db\Mysql\Drivers\PdoMysql\Driver::class,
'RedisLock' => Imi\Lock\Handler\Redis::class,
'ErrorLog' => Imi\Log\ErrorLog::class,
'Logger' => Imi\Log\Logger::class,
'PoolConfig' => Imi\Pool\PoolConfig::class,
'AutoRunProcessManager' => Imi\Process\AutoRunProcessManager::class,
'ConnectionContextLocal' => Imi\Server\ConnectionContext\StoreHandler\Local::class,
'ConnectionContextRedis' => Imi\Server\ConnectionContext\StoreHandler\Redis::class,
'ConnectionContextStore' => Imi\Server\ConnectionContext\StoreHandler::class,
'ClientIdMap' => Imi\Server\Group\ClientIdMap::class,
'ServerGroup' => Imi\Server\Group\Group::class,
'GroupLocal' => Imi\Server\Group\Handler\Local::class,
'GroupRedis' => Imi\Server\Group\Handler\Redis::class,
'HttpDispatcher' => Imi\Server\Http\Dispatcher::class,
'HttpErrorHandler' => Imi\Server\Http\Error\ErrorHandler::class,
'ExecuteTimeoutHandler' => Imi\Server\Http\Error\ExecuteTimeoutHandler::class,
'HttpNotFoundHandler' => Imi\Server\Http\Error\HttpNotFoundHandler::class,
'HttpRequestProxy' => Imi\Server\Http\Message\Proxy\RequestProxy::class,
'HttpResponseProxy' => Imi\Server\Http\Message\Proxy\ResponseProxy::class,
'ActionMiddleware' => Imi\Server\Http\Middleware\ActionMiddleware::class,
'ActionWrapMiddleware' => Imi\Server\Http\Middleware\ActionWrapMiddleware::class,
'OptionsMiddleware' => Imi\Server\Http\Middleware\OptionsMiddleware::class,
'RouteMiddleware' => Imi\Server\Http\Middleware\RouteMiddleware::class,
'HttpRoute' => Imi\Server\Http\Route\HttpRoute::class,
'SuperGlobals' => Imi\Server\Http\SuperGlobals\Listener\SuperGlobals::class,
'SessionFile' => Imi\Server\Session\Handler\File::class,
'SessionRedis' => Imi\Server\Session\Handler\Redis::class,
'HttpSessionMiddleware' => Imi\Server\Session\Middleware\HttpSessionMiddleware::class,
'SessionConfig' => Imi\Server\Session\SessionConfig::class,
'SessionCookie' => Imi\Server\Session\SessionCookie::class,
'SessionManager' => Imi\Server\Session\SessionManager::class,
'TcpDispatcher' => Imi\Server\TcpServer\Dispatcher::class,
'TcpRouteNotFoundHandler' => Imi\Server\TcpServer\Error\TcpRouteNotFoundHandler::class,
'TcpReceiveDataProxy' => Imi\Server\TcpServer\Message\Proxy\ReceiveDataProxy::class,
'TCPActionMiddleware' => Imi\Server\TcpServer\Middleware\ActionMiddleware::class,
'TCPActionWrapMiddleware' => Imi\Server\TcpServer\Middleware\ActionWrapMiddleware::class,
'TCPRouteMiddleware' => Imi\Server\TcpServer\Middleware\RouteMiddleware::class,
'TcpRoute' => Imi\Server\TcpServer\Route\TcpRoute::class,
'UdpDispatcher' => Imi\Server\UdpServer\Dispatcher::class,
'UdpRouteNotFoundHandler' => Imi\Server\UdpServer\Error\UdpRouteNotFoundHandler::class,
'UdpPacketDataProxy' => Imi\Server\UdpServer\Message\Proxy\PacketDataProxy::class,
'UDPActionMiddleware' => Imi\Server\UdpServer\Middleware\ActionMiddleware::class,
'UDPActionWrapMiddleware' => Imi\Server\UdpServer\Middleware\ActionWrapMiddleware::class,
'UDPRouteMiddleware' => Imi\Server\UdpServer\Middleware\RouteMiddleware::class,
'UdpRoute' => Imi\Server\UdpServer\Route\UdpRoute::class,
'HtmlView' => Imi\Server\View\Handler\Html::class,
'JsonView' => Imi\Server\View\Handler\Json::class,
'XmlView' => Imi\Server\View\Handler\Xml::class,
'View' => Imi\Server\View\View::class,
'WebSocketDispatcher' => Imi\Server\WebSocket\Dispatcher::class,
'WSRouteNotFoundHandler' => Imi\Server\WebSocket\Error\WSRouteNotFoundHandler::class,
'WebSocketFrameProxy' => Imi\Server\WebSocket\Message\Proxy\FrameProxy::class,
'WebSocketActionMiddleware' => Imi\Server\WebSocket\Middleware\ActionMiddleware::class,
'WebSocketActionWrapMiddleware' => Imi\Server\WebSocket\Middleware\ActionWrapMiddleware::class,
'WebSocketRouteMiddleware' => Imi\Server\WebSocket\Middleware\RouteMiddleware::class,
'WSRoute' => Imi\Server\WebSocket\Route\WSRoute::class,
'DefaultTimer' => Imi\Timer\Handler\DefaultTimer::class,
'SwooleMysqlDriver' => Imi\Swoole\Db\Driver\Swoole\Driver::class,
'hotUpdate' => Imi\Swoole\HotUpdate\HotUpdateProcess::class,
'AtomicLock' => Imi\Swoole\Lock\Handler\Atomic::class,
'ConnectionContextAmqp' => Imi\Swoole\Server\ConnectionContext\StoreHandler\Amqp::class,
'ConnectionContextMemoryTable' => Imi\Swoole\Server\ConnectionContext\StoreHandler\MemoryTable::class,
'GroupAmqp' => Imi\Swoole\Server\Group\Handler\Amqp::class,
'ExecuteTimeoutMiddleware' => Imi\Swoole\Server\Http\Middleware\ExecuteTimeoutMiddleware::class,
'HttpServer' => Imi\Swoole\Server\Http\Server::class,
'TcpServer' => Imi\Swoole\Server\TcpServer\Server::class,
'UdpServer' => Imi\Swoole\Server\UdpServer\Server::class,
'LocalServerUtil' => Imi\Swoole\Server\Util\LocalServerUtil::class,
'RedisServerUtil' => Imi\Swoole\Server\Util\RedisServerUtil::class,
'HandShakeMiddleware' => Imi\Swoole\Server\WebSocket\Middleware\HandShakeMiddleware::class,
'WebSocketServer' => Imi\Swoole\Server\WebSocket\Server::class,
'SwooleWorkerHandler' => Imi\Swoole\Worker\SwooleWorkerHandler::class,
'CollectService' => ImiApp\ApiServer\Service\Collect\CollectService::class,
]));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment