appertly/hcollection

兼容API的Hack集合PHP库

1.0.0 2017-02-10 22:38 UTC

This package is not auto-updated.

Last update: 2024-09-14 20:09:42 UTC


README

此库可用于希望使用与Hack集合兼容的API的项目,或用于将Hack转换为PHP的项目。它基本上可以作为直接替换使用。

Packagist

安装

您可以使用Composer安装此库

$ composer require appertly/hcollection
  • 此项目的master分支(1.x版本)需要PHP 7.1,并且没有依赖项。

合规性

此库的版本将符合 语义化版本控制

我们的代码旨在 主要 符合 PSR-1PSR-2。如果您发现任何与标准合规性相关的问题,请发送拉取请求!

许可证

与上游Hack项目一样,本项目采用3条款BSD许可证。

注意事项

截至PHP 7.1,名称 iterable 现在是一个保留字。这导致了 HH\Iterable 接口的问题。在此库中,此接口已被重命名为 HH\HackIterable

我们还为所有具体类添加了 JsonSerializable

由于PHP无法支持花括号实例化(例如 Vector{1,2,3}),我们为所有具体类添加了(Google Guava风格的)静态 of 方法。

use HH\ImmMap;
use HH\ImmVector;

$map = ImmMap::of(); // would be empty
$vector = ImmVector::of(); // would be empty
$map = ImmMap::of('key1', 'value1', 'key2', 'value2', 'key3'); // value3 would be null
$vector = ImmVector::of(1, 2, 3);