fisharebest/php-polyfill

PHP 5.3及以后版本的填充库

1.7.0 2020-02-13 11:24 UTC

This package is auto-updated.

Last update: 2024-09-13 22:30:40 UTC


README

Latest Stable Version Build Status StyleCI Coverage Status

PHP Polyfill

本项目结合了多个其他PHP填充库,并提供了许多自有的填充库。

尽可能将我们的填充库传递给其他包。理想情况下,本包将不包含代码,只包含一组协作的依赖项。

symfony项目只接受与原生PHP实现100%兼容的贡献。在很多情况下,这是不可能的——这也是为什么这些函数最初被添加到PHP中的原因!

因此,本项目提供了实现,通常“足够好”,可以在同时运行PHP的新/旧版本上运行应用程序。以下描述了限制和限制。

当然,如果您确切知道您的项目中哪些PHP函数在其他服务器上可能不可用,那么您只需包含所需的填充库。但如果时间太短,那么只需包含 fisharebest/php-polyfill 并不用担心。

使用方法

将依赖项添加到您的 composer.json 并让自动加载魔法完成其余工作。

{
    "require": {
        "fisharebest/php-polyfill": "~1.6",
    },
}

以下填充库将被自动加载:

  • fisharebest/ext-calendar - 日历函数的填充库
  • jakeasmith/http_build_url - http_build_url() 函数的填充库
  • symfony/polyfill-apcu - APCu函数
  • symfony/polyfill-iconv - iconv函数
  • symfony/polyfill-intl-grapheme - grapheme_*函数
  • symfony/polyfill-intl-icu - intl函数和类
  • symfony/polyfill-intl-normalizer - normalizer函数和类
  • symfony/polyfill-intl-mbstring - mbstring函数
  • symfony/polyfill-intl-util - 核心填充库函数
  • symfony/polyfill-intl-xml - utf8_encode/decode函数
  • symfony/polyfill-php54 - PHP 5.4函数
  • symfony/polyfill-php55 - PHP 5.5函数
    • ircmaxell/password_compat - 密码函数的填充库
  • symfony/polyfill-php56 - PHP 5.6函数
  • symfony/polyfill-php70 - PHP 7.0函数
    • paragonie/random_compat - 随机数函数

本包还提供了以下附加填充库:

PHP 5.3

  • 如果服务器启用了 magic quotes,则将其删除。
  • 如果服务器启用了 bug_compat_42,则将其禁用。

PHP 5.4

  • http_response_code() - 原生函数允许您获取当前状态码,即使它是由另一个函数设置的,例如 header()。此实现只能在由 http_response_code() 设置的情况下获取当前状态码。

PHP(通用)

  • 某些PHP构建(例如strato.de使用的构建)没有定义 INF 常量。

贡献

请遵循现有的代码风格,并在可能的情况下编写单元测试。

许可证

本软件包同时受MITGPLv3许可证的约束。使用您最喜欢的许可证。