使用 hyperf 已经有一段时间了,下面是一些常用的助手函数,分享一下~~~
<?php
use HyperfContractStdoutLoggerInterface;
use HyperfHttpServerContractResponseInterface;
use HyperfLoggerLoggerFactory;
use HyperfServerServerFactory;
use HyperfUtilsApplicationContext;
use PsrHttpMessageServerRequestInterface;
use SwooleWebsocketFrame;
use SwooleWebSocketServer as WebSocketServer;
/**
* 容器实例
*/
if (!function_exists('container')) {
function container()
{
return ApplicationContext::getContainer();
}
}
/**
* redis 客户端实例
*/
if (!function_exists('redis')) {
function redis()
{
return container()->get(Redis::class);
}
}
/**
* server 实例 基于 swoole server
*/
if (!function_exists('server')) {
function server()
{
return container()->get(ServerFactory::class)->getServer()->getServer();
}
}
/**
* websocket frame 实例
*/
if (!function_exists('frame')) {
function frame()
{
return container()->get(Frame::class);
}
}
/**
* websocket 实例
*/
if (!function_exists('websocket')) {
function websocket()
{
return container()->get(WebSocketServer::class);
}
}
/**
* 缓存实例 简单的缓存
*/
if (!function_exists('cache')) {
function cache()
{
return container()->get(PsrSimpleCacheCacheInterface::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);
}
}推荐教程:《PHP教程》