ericpoe/ophp

此包已被 废弃 且不再维护。作者建议使用 ericpoe/haystack 包代替。

忘记 Haystack 与 Needle 的顺序,对象 就是 Haystack。Haystack 是一个允许进行管道操作和不可变结构的库。

v2.1.3 2019-01-29 17:49 UTC

README

GitHub Workflow Status for Code Testing (master branch) GitHub Workflow Status for Code Analysis (master branch) Software License Packagist Version

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)

此外,尽管许多相同类型的函数都对数组和字符串进行操作,但函数名却大相径庭。例如,strstrin_array 做类似的事情,但名称不同,调用方式也不同。

目标

此项目将尽可能匹配尽可能多的字符串和数组动词。例如,$foo->contains("elvis") 应该确定字符串 "elvis" 是否包含在 $foo 对象中,$foo 是字符串还是数组无关紧要。同理,$foo->map($callable)$foo->filter($callable)

如何使用?

查看 手册 了解使用 Haystack 库可以执行的所有操作。