ericpoe / ophp
此包已被 废弃 且不再维护。作者建议使用 ericpoe/haystack 包代替。
忘记 Haystack 与 Needle 的顺序,对象 就是 Haystack。Haystack 是一个允许进行管道操作和不可变结构的库。
v2.1.3
2019-01-29 17:49 UTC
Requires
- php: ^5.6 || ^7.0
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: ^5
This package is not auto-updated.
Last update: 2022-02-01 12:49:49 UTC
README
Haystack
忘记 Haystack 与 Needle 的顺序,对象 就是 Haystack。Haystack 是一个允许进行管道操作、不可变结构和 UTF-8 字符串的库。
安装
Haystack 可以作为 Composer 包进行安装
$ composer require ericpoe/haystack
运行测试
$ git clone ... $ composer install $ vendor/bin/phpunit
背景
试图记住 PHP 中字符串和数组常用的函数很困难。是数组函数 haystack-needle 和字符串函数 needle-haystack,还是相反?快速回答,不查看文档或不使用良好的 IDE,下面哪个是正确的:in_array($needle, $haystack)
或 in_array($haystack, needle)
?
此外,尽管许多相同类型的函数都对数组和字符串进行操作,但函数名却大相径庭。例如,strstr
和 in_array
做类似的事情,但名称不同,调用方式也不同。
目标
此项目将尽可能匹配尽可能多的字符串和数组动词。例如,$foo->contains("elvis")
应该确定字符串 "elvis" 是否包含在 $foo 对象中,$foo 是字符串还是数组无关紧要。同理,$foo->map($callable)
和 $foo->filter($callable)
。
如何使用?
查看 手册 了解使用 Haystack 库可以执行的所有操作。