haldayne / boost
PHP字符串和数组功能的扩展包。使常见操作变得简单易读。
Requires
- php: ^5.5.0 || ^7.0
- haldayne/fox: ^1.0
Requires (Dev)
- phpunit/phpunit: ^5.0
README
大多数PHP编程都涉及数据库和浏览器之间的数据推送,这意味着大量的字符串和数组处理。想想字符串分割、遍历数组等等。遗憾的是,对于这些常见操作,与JS、Python等相比,PHP的语法非常冗长。这个库通过以下方式解决这种烦恼:
- 字符串操作的工具箱方法(待办)
- 可调用驱动的流畅接口用于数组处理
让我们开始吧
您需要至少PHP 5.5.0。不需要其他扩展。
通过composer安装: php composer.phar require haldayne/boost ^1.0
使用Boost
阅读文档以获取完整的示例。对于概述,请继续阅读。
使用Map
进行可读性、链式数组处理
PHP数组是一组<键,值>
对。在计算机科学中,这被称为关联数组,也称为字典、哈希表或映射。Boost需要为其对PHP数组的改进命名,而Map
是一个好名字,因为它在那些疯狂的使用语句中容易输入。
use Haldayne\Boost\Map;
现在我们可以使用Map的流畅接口来解决问题
- 将任何内容用作键:标量,甚至是数组和对象
- 一行解决方案...
- map/reduce
- filter/each
- 分区(即按组分组)
- 对一组对象应用相同的方法
- ...等等
- 直到PHP支持短闭包,使用一次性可调用函数
$numbers->grep('$v % 2')
与$numbers->grep(function ($v) { return $v % 2; })
- 强制“数组类型”类型提示
Haldayne\Boost\MapOfInts
Haldayne\Boost\MapOfFloats
Haldayne\Boost\MapOfStrings
Haldayne\Boost\MapOfCollections
Haldayne\Boost\MapOfNumerics
Haldayne\Boost\MapOfObjects
- ...或者创建自己的!
相关项目
👽 ➖ Chain,一种在PHP中处理数组的连续和链式方法。
在PHP中处理数组很混乱。首先,您必须在前面的大多数(但不是所有)函数前加上前缀 array_,参数排序不统一。例如,array_map()期望回调作为第一个参数,数组作为第二个参数,但array_filter()期望数组作为第一个参数,回调作为第二个参数。您还必须将函数调用包裹在数组周围,生成的代码看起来不美观,可读性差,难以理解。
在开发PHP应用程序并帮助他人开发PHP应用程序时,我注意到使用PHP数组几乎在每个任务中的趋势。PHP中的数组很有用,但由于PHP没有丰富的标准库来处理常见的数据结构和算法,因此过度使用。这个库希望填补这个空白。毫无疑问,我在设计和实现中犯了一些错误;希望更多的社区参与可以帮助识别和修复这些错误。
👽 ➖ PHP Collection - PHP的基本集合。
集合可以被视为具有某些保证的更专业的数组。
支持的集合
- 序列
- 映射
- 集合(尚未实现)