使用 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教程》