使用 hyperf 已經有一段時間了,下面是一些常用的助手函數,分享一下~~~
use Hyperf\Contract\StdoutLoggerInterface;
use Hyperf\HttpServer\Contract\ResponseInterface;
use Hyperf\Logger\LoggerFactory;
use Hyperf\Server\ServerFactory;
use Hyperf\Utils\ApplicationContext;
use Psr\Http\Message\ServerRequestInterface;
use Swoole\Websocket\Frame;
use Swoole\WebSocket\Server as WebSocketServer;
if (!function_exists('container')) {
function container()
{
return ApplicationContext::getContainer();
}
}
if (!function_exists('redis')) {
function redis()
{
return container()->get(Redis::class);
}
}
if (!function_exists('server')) {
function server()
{
return container()->get(ServerFactory::class)->getServer()->getServer();
}
}
if (!function_exists('frame')) {
function frame()
{
return container()->get(Frame::class);
}
}
if (!function_exists('websocket')) {
function websocket()
{
return container()->get(WebSocketServer::class);
}
}
if (!function_exists('cache')) {
function cache()
{
return container()->get(Psr\SimpleCache\CacheInterface::class);
}
}
if (!function_exists('stdLog')) {
function stdLog()
{
return container()->get(StdoutLoggerInterface::class);
}
}
if (!function_exists('logger')) {
function logger()
{
return container()->get(LoggerFactory::class)->make();
}
}
if (!function_exists('request')) {
function request()
{
return container()->get(ServerRequestInterface::class);
}
}
if (!function_exists('response')) {
function response()
{
return container()->get(ResponseInterface::class);
}
}
本作品采用《CC 協定》,轉載必須注明作者和本文連結
By: Laravel-China 甯澤林
Blog: nizer.in