- 广场
-
- 搜索中...
- 本文档内搜索
zxf/tools 使用手册
助手函数
支持依赖注入的函数调用before_calling_methods
class CustomClass{
public function method($name=''){
echo 'CustomClass->method:'.$name.PHP_EOL;
}
}
class MyClass{
public function __construct()
{
// 传入自定义参数
before_calling_methods($this, 'initialize',[CustomClass::class, function()
{
echo 'call callable'.PHP_EOL;
},'this_is_test']);
// 不传参数会自动去识别和解析
// before_calling_methods($this, 'initialize');
}
public function initialize(CustomClass $custom, callable $callback, string $test = 'test', int $age = 18, string $name = '张三'){
$callback && $callback();
$custom->method($name);
}
public function run(){
echo 'MyClass->run'.PHP_EOL;
}
}
$class = new MyClass();
$class->run();
打印
call callable
CustomClass->method:张三
MyClass->run
session 助手函数
获取某个session
i_session('name');
获取所有session
第一参数为空
i_session('');
or
i_session(null);
或者使用对象获取
i_session()->all()
设置session
i_session('name', 'value');
or 设置过期时间(单位:秒)
i_session('name', 'value',10); // 10s 后过期
批量设置
i_session(['name1' => 'value1','name2' => 'value2']);
删除session
// 删除某个session
i_session('name', null);
or 删除所有
i_session()->clear();
判断某个session是否存在或是否过期
i_session()->exists('name');
cache 助手函数
cache($name, $value = null, $expiry = '+1 day')
文章去除标签截取文字
truncate(string $string, int $start = 0, int $length = 150, bool $append = true): string
移除字符串中的 emoji 表情
remove_str_emoji($str): string
判断字符串中是否含有 emoji 表情
check_str_exists_emoji($str): bool
检测是否为爬虫
is_crawler(bool $returnName = false, bool $forbidUnknownSpider = false)
把彩色图片转换为灰度图片,支持透明色
img_to_gray($imgFile = '', $saveFile = '')
删除文件夹
del_dirs(string $dirname, bool $delSelf = true): bool
判断文件夹是否为空
dir_is_empty(string $dir): bool
递归创建目录
create_dir(string $dir, int $permissions = 0755): bool
获取文件的大小
get_filesize(string $filePath): string
文件字节转具体大小
byteFormat(int $size, int $dec = 2): string
输出json后继续在后台执行指定方法
response_and_continue(array $responseDara, string|array $backendFun, array $backendFunArgs = [], int $setTimeLimit = 0)
数字转换为中文
num_to_cn(float|int|string $number, bool $mode = true, bool $sim = true): string
数字转换为英文
num_to_word(float|int|string $number): string
二维数组 转为 树形结构 和 tree2arr 互逆
arr2tree(array $array, int $superior_id = 0, string $superior_key = 'pid', string $primary_key = 'id', string $son_key = 'son'): array
树形结构 转为 二维数组 和 arr2tree 互逆
tree2arr(array $array, string $son_key = 'son', int $level = 0): array
页面直接输出图片
show_img($imgFile = '')
字符串自动转utf8编码
string_to_utf8(string $str = '')
字符串自动转gbk编码
string_to_gbk(string $str = '')
对json数据格式化输入展示 [转化为json格式,并格式化样式]
show_json(array $array = [])
判断是否为身份证号
is_idcard($idCard): bool
去除所有html标签
detach_html($string): string
生成随机字符串
str_rand(int $length = 6, string $tack = ''): string
微信解密
wx_decrypt_data($appId, $encryptedData, $iv, $sessionKey)
图片转 base64
img_base64($image_file): string
base64图片转文件图片
base64_to_image($base64_image_content, $path)
判断是否为json 字符串
is_json($string): bool
下划线转驼峰
convert_underline(string $str)
驼峰转下划线
underline_convert(string $str): string
验证等保测2级评密码强度
check_pass_strength(string $password = ''): bool
构建form表单并提交数据
满足提交大量表单会被数据长度等限制的问题,[header 携带大量数据请求的可行性方案]
buildRequestFormAndSend(string $url, array $data = [], string $method = 'post'): string
对象转数组
obj2Arr($array)
根据微秒时间和随机数生成 10位 uuid
uuid(): string
将任意进制的数值转换为另一个进制的数值
base_convert_any(string $number, int $from_base, int $to_base): string|false
下载url文件
download_url_file($url = '')
字符串加密和解密
str_en_code(string $string, string $operation = 'en', int|string $expiry = 312206400, string $key = ''): bool|string
获取对象里面受保护属性的值
get_protected_value($obj, $name): mixed
使用反射 修改对象里面受保护属性的值
set_protected_value($obj, $filed, $value)
json_decode 加强版
主要是为了了处理 json 字符串中包含了 " 和 \ 转义字符导致无法解析的问题
json_decode_plus(string $jsonStr, $assoc = null): mixed
判断当前浏览器是否为移动端
is_mobile(): bool