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 auto-updated.
Last update: 2024-09-20 03:20:41 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 库做哪些事情。