Util 类
工具类 Util 类
path(string ...$paths): string
路径处理方法
会根据系统类型,自动转换路径格式。
#linux,mac
$path= Util::path('/wwwroot\\wj008','www/image','my.png');
print_r($path.PHP_EOL);
#输出: /wwwroot/wj008/www/image/my.png
#window
$path= Util::path('D:\\wwwroot\\wj008','www','index.php');
print_r($path.PHP_EOL);
#输出: D:\wwwroot\wj008\www\index.php
trimPath($path, $base = ROOT_DIR): string
去掉路径前面的路径。
#linux,mac
$path = Util::path('/wwwroot\\wj008', 'www/image', 'my.png');
#/wwwroot/wj008/www/image/my.png
$root = Util::path('/wwwroot\\wj008', 'www/');
#/wwwroot/wj008/www
# 在 /wwwroot/wj008/www/image/my.png 的路径去掉前面的 /wwwroot/wj008/www 保留后面的路径 /image/my.png
$path = Util::trimPath($path, $root);
print_r($path . PHP_EOL);
#最后输出: /image/my.png
toUnder(string $name): string
将大小驼峰转为小写+下划线组合
$name 待转换的字符
$name = Util::toUnder('MyBook');
print_r($name . PHP_EOL);
#输出: my_book
$name = Util::toUnder('myBook');
print_r($name . PHP_EOL);
#输出: my_book
toCamel(string $name, bool $lc = false): string
将下划线+小写组合 转成大小驼峰
$name 待转换的字符
$lc 如果为真 转换成小驼峰,为假 转换成大驼峰。
$name = Util::toCamel('my_book');
print_r($name . PHP_EOL);
#输出: MyBook
$name = Util::toCamel('_my_book');
print_r($name . PHP_EOL);
#输出: MyBook
$name = Util::toCamel('my_book', true);
print_r($name . PHP_EOL);
#输出: myBook
$name = Util::toCamel('_my_book', true);
print_r($name . PHP_EOL);
#输出: myBook
attrToCamel(string $name): string
属性(即input 中的属性 如 data-width) 转成小驼峰。
$name = Util::attrToCamel('data-img-width');
print_r($name . PHP_EOL);
#输出: dataImgWidth
camelToAttr(string $name): string
小驼峰 转成属性 (即input 中的属性 如 data-width)
$name = Util::camelToAttr('dataImgWidth');
print_r($name . PHP_EOL);
#输出: data-img-width
randWord(int $len = 4): string
生成随机字符串
$len 字符串长度
randNum(int $len = 4): string
生成随机数字
$len 字符串长度
isJson(string $str): bool
判断一个 字符串是不是可以转成数组的字符串 ,如 '{' 开头 '}' 结尾,或者 '[' 开头 ']' 结尾。
makeDir(string $dir, int $mode = 0777)
创建文件夹,递归创建。
$dir 目录
$mode 指定权限。
extend(array $a1, array $a2)
深度递归合并两个数组。
convertType(mixed $value, string $type): mixed
类型转换
$value 待转换的类型值。
$type 待转换的类型,可选类型如下。
bool,
boolean,
int,
double,
float,
string,
array
$name = Util::convertType(1, 'string');
var_dump($name);
/*
string(1) "1"
*/
$name = Util::convertType(1, 'array');
var_dump($name);
/*
array(1) {
[0]=>
int(1)
}
*/
$name = Util::convertType('[1,3,4]', 'array');
var_dump($name);
/*
array(3) {
[0]=>
int(1)
[1]=>
int(3)
[2]=>
int(4)
}
*/
$name = Util::convertType(0, 'bool');
var_dump($name);
/*
bool(false)
*/
$name = Util::convertType(null, 'bool');
var_dump($name);
/*
bool(false)
*/
$name = Util::convertType(null, 'array');
var_dump($name);
/*
array(0) {
}
*/
$name = Util::convertType(null, 'string');
var_dump($name);
/*
string(0) ""
*/
$name = Util::convertType(0, 'float');
var_dump($name);
/*
float(0)
*/
$name = Util::convertType('', 'float');
var_dump($name);
/*
float(0)
*/