macfja/polyfill-registry

PHP 所有(大多数)polyfill 的列表

v1.0.0 2018-10-20 16:50 UTC

README

本项目的目的是集中所有(大多数)可以提供 PHP 版本扩展通常提供的功能集的库/组件。

不同类型的 Polyfill

有 3 种类型的 polyfill

  • polyfill,真正的 polyfill:添加依赖后即可直接使用
  • stub,模拟器:提供空实现(例如 xdebug,NewRelic 等)
  • alternative,由您选择:您必须手动激活代码

所有 polyfill

所有引用的 polyfill 列表可用为

工具

您可以使用 PHP 对象在注册表中导航

搜索 polyfill

您可以搜索可以替换函数、类、扩展、常量、PHP 版本的 polyfill。

有关更多信息,请参阅 ReaderInterface

以下是一个函数的示例

$registry = new \MacFJA\PolyFillRegistry\PolyfillRegistry();
$polyfills = $registry->getPolyfillForFunction('array_column');

获取关于 polyfill 的信息

您可以从其名称获取 polyfill 实现的函数、类、常量的列表。

有关更多信息,请参阅 ReverseSearchInterface

以下是一个获取 polyfill 所有函数的示例

$registry = new \MacFJA\PolyFillRegistry\PolyfillRegistry();
$functions = $registry->getPolyfillFunctions('paragonie/sodium_compat');
// `$functions` contains the list of all functions name implemented by the polyfill 'paragonie/sodium_compat'

贡献

跟踪所有 polyfill 是一项真正巨大的任务,遗漏 polyfill 的可能性与互联网的大小一样大。

为了提供最完整的注册表,任何贡献都受欢迎。

  • 如果您发现了新的 polyfill,请随时在 GitHub 上 打开问题 或提交拉取请求。
  • 如果您发现了错误,请随时在 GitHub 上 打开问题 或提交拉取请求。
  • 如果您有任何问题,您可以在 GitHub 上 打开问题

如果您更改了文件 resources/registry.json,请运行 make generate_all 以排序注册表并更新 Markdown 列表

兼容性/组件

  • 该库与 PHP 5.3+ 兼容
  • 该库使用 Makefile 减少在生成某些文件时的人为错误
  • 该库使用 Docker 来消除文件生成过程中的系统依赖