escapio/php-iterables

用于操作可迭代的工具函数

v2.2.0 2024-04-30 15:11 UTC

README

描述

PHP-Iterables是一个简单的工具库,用于为PHP提供一种简单一致的方式来使用可迭代对象,无论您处理的是哪种类型:数组、迭代器还是生成器

此外,它允许您以流畅、易于阅读的方式链式调用多个迭代器函数。

特性

请查看示例文件中的更多详细示例。

该库包括一些常见函数,如

$double_iterable = map($iterable_of_numbers, fn($number) => $number * 2);
$filtered_iterable = filter($iterable_of_numbers, fn($number) => $number < 5);
$iterable = function () {
    yield 1;
    yield 2;
}
toArray($iterable); // [1, 2]

可迭代构建器允许您以流畅的语法组合这些函数

(new \Escapio\Iterables\Builder())
  ->from(['Alice', 'Bob', 'Chuck'])
  ->map(strtolower(...))
  ->filter(fn ($name) => $name !== 'chuck')
  ->loop(function ($name) {
    echo $name . PHP_EOL;
  });
  // "alice"
  // "bob"

安装

使用composer安装

composer require escapio/php-iterables

贡献

您可以自由地通过GitHub创建功能请求或报告错误。

如果您想贡献力量,请确保所有测试和代码风格规则都已满足,否则CI将失败。

测试

执行PHPUnit测试的命令

composer test

代码风格

该库使用PHP CS Fixer进行代码格式化。运行格式化器

composer code-style:fix

请参阅行为准则

变更日志

请查看CHANGELOG.md

变更日志由composer包marcocesarato/php-conventional-changelog管理。在composer.json文件中还有一些方便的脚本来更新变更日志并使用当前版本对提交进行标记

  • composer release:patch
  • composer release:minor
  • composer release:major

许可证

PHP-Iterables在MIT许可证(MIT)下提供。有关更多信息,请参阅许可证文件