sarciszewski/php-future

将新功能(5.6+)填充到旧版本(5.4+)的PHP中

v0.6.0 2024-04-21 01:22 UTC

This package is not auto-updated.

Last update: 2024-09-22 03:34:11 UTC


README

Build Status

此库将一些新功能反向移植到旧版本的PHP中。

MIT授权的项目是为了PHP开发者的利益而创建和维护的。

关于应用程序安全的警告

只有在无法根据您的业务规则升级PHP的特定情况下才应使用此功能。为了最佳的应用程序安全,您应该始终在可能的情况下运行最新版本的PHP。这旨在为无法升级的用户提供临时解决方案,并在向最新版本升级的同时使用。

注意PHP 5.2 / 5.3用户

一般来说,我们不提供对任何不受支持的PHP版本的支持。这意味着从现在起5.4.x版本。

如果您的操作系统支持已停止服务的5.3.x版本(例如,Ubuntu 12.04上的PHP 5.3.10有安全修复),我们将做出例外。 此库的目的不是鼓励自满和不安全。修补您的系统。

我们任何地方都不支持PHP 5.2.x。请升级到更新版本的PHP。

此库填充的功能

  • PHP 5.4
    • N/A
  • PHP 5.5
    • array_column()
    • boolval()
    • hash_pbkdf2()
    • openssl_pbkdf2()
  • PHP 5.6
    • hash_equals()
  • PHP 7.0
    • N/A

有关我们将要提供的功能的详细信息,请参阅wishlist.txt要添加到此列表,请发送拉取请求、一条推文一封电子邮件,我们将考虑将其包含在内。

范围之外

为什么?

当我们的顾问向开源项目提交安全增强功能时,维护者有时会抱怨某些功能仅存在于较新版本的PHP中,因此他们无法强制要求这些功能。我们编写此代码是为了在所有版本的PHP之间提供兼容性,以防止这些问题发生。

将来,我们将尝试将一些PHP 7功能反向移植到5.5和5.6版本中,如果可能的话。

它是如何工作的

仅存在于未来版本中的功能在全局命名空间中公开。这些函数从src文件夹调用适当的类/方法。这确保PHP仅在需要时加载代码。

如何使用此库

Composer

composer require sarciszewski/php-future

任何脚本

只需将我们的autoload.php脚本包含在src目录外部即可。例如

require_once "vendor/sarciszewski/php-future/autoload.php";