wazsmwazsm / kit
common kit
v1.0
2019-05-07 10:06 UTC
Requires
- php: >=5.5
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2025-04-16 15:21:14 UTC
README
工具箱,包含一些常用工具。
安装
composer require wazsmwazsm/kit
工具
DotArr
用 a.b.c 格式的字符串作为数组的路径存储一个值。
设置:
use Kit\DotArr; $arr = []; DotArr::dotSet($arr, 'foo.bar', 'hello'); var_dump($arr); // result is ['foo' => ['bar' => 'hello']]
读取:
use Kit\DotArr; $arr = ['foo' => ['bar' => 'hello']]; $result = DotArr::dotGet($arr, 'foo.bar'); var_dump($result); // result is hello $result = DotArr::dotGet($arr, 'foo'); var_dump($result); // result is ['bar' => 'hello'] // 获取值不存在返回默认值 $result = DotArr::dotGet($arr, 'a.b', 'd'); var_dump($result); // result is d
判断值是否存在:
use Kit\DotArr; $arr = ['foo' => ['bar' => 'hello']]; $result = DotArr::dotHas($arr, 'foo.bar'); var_dump($result); // result is true $result = DotArr::dotHas($arr, 'a.b'); var_dump($result); // result is false
自定义分隔符:
use Kit\DotArr; DotArr::setOperator('/'); $arr = []; DotArr::dotSet($arr, 'foo/bar', 'hello'); $result = DotArr::dotGet($arr, 'foo/bar'); var_dump($result); // result is hello
Pipeline
管道模式,将载荷送入管道,流过每一节管道,返回结果。
使用:
use Kit\Pipeline; $pipes = [ function($payload) { return $payload + 1; }, function($payload) { return $payload + 2; }, function($payload) { return $payload + 3; }, ]; // 初始化时设置管道 $pipe = new Pipeline($pipes); // 添加管道 $pipe->pipe(function($payload) { return $payload + 4; }); // 运行管道 $result = $pipe->flow(12); var_dump($result); // result is 22
License
The Kit is open-sourced software licensed under the MIT license.