dechamp / shorty
一些工具,帮助避免一些繁琐的事情,例如本应简单但变得复杂的逻辑。
1.3.8
2018-06-30 16:43 UTC
Requires
- php: >=5.6
Requires (Dev)
- phpunit/phpunit: ^5.0
README
这个库的目标是提供简单易用的助手,以简化日常重复性任务。
指南
- 不要创建其他支持库中已有的东西。
- 遵循K.I.S.S.原则(保持简单),不要创建大的助手。
- 为了简单起见,将它们作为静态方法
有助于缩短典型的逻辑,例如从深层数组中获取值或返回null。
方法
grabOrNull((array|object) $haystack, (string) $needle)
用于处理数组或对象时获取值,递归检查键,如果未找到键则返回null
- $haystack - (array|object) 对于数组或对象都将执行相同的操作
- $needle - (string) 通过使用
/
分隔键进行递归搜索,例如a/b/c
示例用法
使用
Shorty::grabOrNull($deepArray, "a/b/c/d");
而不是...
isset($deepArray['a']['b']['c']['d']) ? $deepArray['a']['b']['c']['d'] : null;
grabOr((array|object) $haystack, (string) $needle, (mixed) $default)
用于处理数组或对象时获取值,递归检查键,如果未找到键则返回默认值
- $haystack - (array|object) 对于数组或对象都将执行相同的操作
- $needle - (string) 通过使用
/
分隔键进行递归搜索,例如a/b/c
- $default - (mixed) 默认返回的内容
示例用法
使用
Shorty::grabOr($deepArray, "a/b/c/d", "tacos");
而不是...
isset($deepArray['a']['b']['c']['d']) ? $deepArray['a']['b']['c']['d'] : "tacos";
grabOrThrow((array|object) $haystack, (string) $needle, Exception $exception)
用于处理数组或对象时获取值,递归检查键,如果未找到键则抛出异常
- $haystack - (array|object) 对于数组或对象都将执行相同的操作
- $needle - (string) 通过使用
/
分隔键进行递归搜索,例如a/b/c
- $exception - 异常实例
示例用法
使用
try {
$val = Shorty::grabOrThrow($deepArray, "a/b/c/d", new Exception('No tacos'));
} ...
而不是...
try {
if (! isset($deepArray['a']['b']['c']['d'])) {
throw new Exception('No Tacos');
}
$val = $deepArray['a']['b']['c']['d'];
} ...
guard() 现已弃用,请使用 https://packagist.org.cn/packages/webmozart/assert 代替
测试
您可以使用包含的Dockerfile来运行phpunit。
设置
1 docker build -t shorty .
2 docker run -it -v $PWD:/var/www/html shorty /bin/bash
3 phpunit
和 phpunit --coverage-text