hyperf-libs / helpers
基于hyperf日常开发工具包
2.3
2024-03-14 08:54 UTC
Requires
- php: >=8.1
- ext-bcmath: *
- ext-json: *
- hyperf/di: ~3.1.0
- hyperf/framework: ~3.1.0
- hyperf/guzzle: ~3.1.0
- hyperf/logger: ~3.1.0
- hyperf/redis: ~3.1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- mockery/mockery: ^1.0
- phpstan/phpstan: ^1.0
- phpunit/phpunit: >=7.0
- swoole/ide-helper: ^5.0
README
基于hyperf3.1框架,封装日常使用辅助类;主要包含日志(TraceId)调用、Redis调用、Redis分布式锁和常用函数等。
安装方式
composer require hyperf-lib/helpers
发布配置文件
php bin/hyperf.php vendor:publish hyperf-lib/helpers
常用函数
获取容器实例
di(\Redis::class); // Redis实例
di(\GuzzleHttp\ClientInterface::class); // GuzzleHttp实例
di(\Helpers\Elasticsearch\Client::class); // Elasticsearch实例
分转元,元转分
fen2yuan(100);
yuan2fen(1.00);
分布式锁
runWithLock($callback, $lockName, $lockSec, $waitSec);
API返回格式
apiSucc($data);
apiErr($code, $message);
分布式ID获取
getPkId();
异常堆栈信息格式化
formatThrowable($throwable);
Redis调用示例
Helpers\Redis::set('demo', 'demo');
日志调用示例
Helpers\Log::info(__FUNCTION__, []);
# 统一日志格式,可以将app/Listener/DbQueryExecutedListener.php:58
$this->logger->info(sprintf('[%s] %s', $event->time, $sql));
#替换为
Helpers\Log::info(sprintf('[%s] %s', $event->time, $sql));