Backend Development 2 min read
Common Helper Functions for Hyperf
This article presents a collection of frequently used Hyperf helper functions for PHP developers, including shortcuts for accessing the container, Redis client, Swoole server, WebSocket frame, cache, logging utilities, request and response objects, all demonstrated with complete code examples.
php中文网 Courses
php中文网 Courses
I have been using Hyperf for a while, and here are some commonly used helper functions to share.
<?php
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();
}
}
/**
* 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(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();
}
}
/**
* request 实例
*/
if (!function_exists('request')) {
function request()
{
return container()->get(ServerRequestInterface::class);
}
}
/**
* response 实例
*/
if (!function_exists('response')) {
function response()
{
return container()->get(ResponseInterface::class);
}
}Written by
php中文网 Courses
php中文网's platform for the latest courses and technical articles, helping PHP learners advance quickly.
0 followers
Reader feedback
How this landed with the community
Rate this article
Was this worth your time?
Discussion
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.