mpstyle/plazy

懒数据访问库

dev-master 2016-08-06 07:38 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:25:41 UTC


README

PHP 7 的另一个功能库。

快速开始

要在项目中使用 plazy,请安装 composer 并将其添加到您的 composer.json 文件中

"require": {
    "mpstyle/plazy": "0.2.3"
}

或者运行

composer require "mpstyle/plazy"

序列

序列类允许您通过较小的操作构建计算。它与 Java 8 Streams 类似

现在我们可以尝试以下一些功能

Sequence::sequence(1, 2, 3, 4)->filter(even); // lazily returns 2,4
Sequence::sequence(1, 2)->map(toString); // lazily returns "1", "2"
Sequence::sequence(1, 2, 3)->take(2); // lazily returns 1,2
Sequence::sequence(1, 2, 3)->drop(2); // lazily returns 3
Sequence::sequence(1, 2, 3)->tail(); // lazily returns 2,3
Sequence::sequence(1, 2, 3)->head(); // eagerly returns 1
Sequence::sequence(1, 3, 5)->find(even); // eagerly returns none()
Sequence::sequence(1, 2, 3)->contains(2); // eagerly returns true
Sequence::sequence(1, 2, 3)->toString(":"); // eagerly returns "1:2:3"

选项

可选值 - 类型安全的 null

函数

plazy 为函数式使用提供了某些接口,例如

  • F: 将对象转换为另一个对象。
  • 谓词:过滤/选择/匹配对象。
  • 验证器:验证对象。

开发者

要运行单元测试,请在 plazy 项目的根目录下运行

composer phptest