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 库做哪些事情。