# 工具包

# 全局函数

为了防止命名冲突,我们把所有的全局函数都封装到 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');

$messagemixed 类型,可以是字符串,数组或者对象。

# 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
上次更新: 10/27/2022, 11:18:25 AM