# 工具包
# 全局函数
为了防止命名冲突,我们把所有的全局函数都封装到 src/GF.php
这个函数类中去了(Global Functions)。
# FileUtil
FileUtil
类中封装了文件操作相关的工具函数,比如创建目录,拷贝目录等。
# HttpUtil
HttpUtil
类中封装了发送 http 请求的工具函数:
// 发送 Get 请求
$result = HttpUtil::init()->get($url, $params)
// 发送 Post 请求,并携带头信息
$result = HttpUtil::init()->header($headName, $headValue)->post($url, $params);
// 使用代理发送 http 请求
$result = HttpUtil::init()->proxy($ip, $port)->put($url, $data);
# Lock
Lock
实现了一个简单的文件锁
$lock = Lock::get($lockName);
$lock->tryLock();
// do some things ...
$lock->unlock();
# Logger
Logger
是一个日志工具,可以用来记录应用运行日志。目前只支持输出 debug
,info
,warn
,error
四个级别的日志:
Logger::setLevel(Logger::INFO);
Logger::info($message);
// e.g
Logger::info('Hello herosphp');
$message
是 mixed
类型,可以是字符串,数组或者对象。
# InstanceTrait
InstanceTrait
是一个用来创建单例的 Trait
,任何一个类只需要使用这个 Trait
就可以很方便支持单例功能:
class A {
use InstanceTrait;
public function hello()
{
Logger::info('hello herosphp');
}
}
$a = A::getInstance();
$a->hello();
# Redis
Redis 操作封装类,方法比较多,具体请看源码。
# StringUtil
StringUtil
封装了常用字符串处理工具方法。
// 生成分布式唯一 ID
public static function genGlobalUid(): string
// json 编码
public static function jsonEncode($array)
// json 解码
public static function jsonDecode($string)
// 下划线转驼峰
public static function ul2hump($str)
// 驼峰转下划线
public static function hump2ul($str)
// 将16进制的颜色转成成RGB
public static function hex2rgb($hexColor)
// 生成随机字符串
public static function genRandomStr($length): string