haldayne/boost

PHP字符串和数组功能的扩展包。使常见操作变得简单易读。

1.1.0 2017-11-11 17:03 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:48:19 UTC


README

Code Climate

大多数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()期望数组作为第一个参数,回调作为第二个参数。您还必须将函数调用包裹在数组周围,生成的代码看起来不美观,可读性差,难以理解。

👽 ➖ Ardent,一个用于PHP的集合库。

在开发PHP应用程序并帮助他人开发PHP应用程序时,我注意到使用PHP数组几乎在每个任务中的趋势。PHP中的数组很有用,但由于PHP没有丰富的标准库来处理常见的数据结构和算法,因此过度使用。这个库希望填补这个空白。毫无疑问,我在设计和实现中犯了一些错误;希望更多的社区参与可以帮助识别和修复这些错误。

👽 ➖ PHP Collection - PHP的基本集合。

集合可以被视为具有某些保证的更专业的数组。

支持的集合

  • 序列
  • 映射
  • 集合(尚未实现)