xenokore / utility
通用实用工具助手
2.0.2
2022-12-25 10:45 UTC
Requires
- php: >=8.0
Requires (Dev)
- phpunit/phpunit: ^9.0
README
一个充满实用函数的库。
ArrayHelper
ArrayHelper::set(array &$array, string $key, mixed $value): array
使用"点"表示法设置数组项为给定值。
如果给定键为null,则整个数组将被替换。返回新数组。
ArrayHelper::get(array $array, string $key, $default = null, bool $throw = false): mixed
使用"点"表示法从数组获取项。
如果$throw
参数设置为true,则抛出ArrayKeyNotFoundException
而不是返回默认值。
ArrayHelper::isAccessible(mixed $value): bool
确定给定值是否是数组可访问的。
检查值是否是\ArrayAccess
的实例。
ArrayHelper::exists(array $array, string|int $key)
确定给定的键是否存在于提供的数组中。
ArrayHelper::convertDotNotationToArray(array $array): array
根据点表示法键的数组创建多维数组。
对配置数组很有用。
示例
[
'a.b.c' => 'value'
]
变为
[
'a' => [
'b' => [
'c' => 'value'
]
]
]
ArrayHelper::convertArrayToDotNotation(array $array): array
将多维数组转换为具有点表示法键的2D数组。
https://stackoverflow.com/a/10424516/5865844
对配置数组很有用。
示例
[
'a' => [
'b' => [
'c' => 'value'
]
]
]
变为
[
'a.b.c' => 'value'
]
ArrayHelper::moveToTop(array &$array, string $key): void
将数组项移动到数组的开头。
ArrayHelper::moveToBottom(array &$array, string $key): void
将数组项移动到数组的末尾。
ArrayHelper::mergeRecursiveDistinct(array $array1, array $array2): array
递归地合并2个数组并替换不同的非数组值。
ArrayHelper::getChecksum(array $array, bool $sort = false): ?string
获取给定数组的校验和。
ArrayHelper::getValueBasedOnCurrentDay(array $array): mixed
根据当前日期从数组中获取值。每天值都会移动到下一个。最大数组大小约为2000万。(Ymd
作为一个int)。
ClassHelper
ClassHelper::getClassConstant(object $class, $value, ?string $prefix = null, bool $remove_prefix = true): ?string
根据值获取常量的名称。
可以提供一个前缀以缩小搜索范围。
ClassHelper::getClassInfoFromFile(string $file_path): array
根据文件路径获取类的信息。
返回一个包含类名和完整命名空间的数组。
不使用反射也不初始化类。
ClassHelper::getClassNameFromFile(string $file_path): ?string
从包含类的文件中获取类名。
不包括命名空间。
ClassHelper::getNamespaceFromFile(string $file_path): ?string
从包含类的文件中获取命名空间。
ClassHelper::getFullClassNameFromFile(string $file_path): ?string
从包含类的文件中获取完整类名。返回的字符串包含命名空间和类名。
ClassHelper::getMethodCodeFromClass(object $class, string $method_name, bool $include_function_definition = false): ?string
从类的某个方法中获取原始代码。
ClassHelper::callPrivateMethod(object $class, string $method_name, array ...$arguments): mixed
调用类的私有方法。
对于单元测试内部工作很有用。