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

1.0.0 2017-06-30 09:54 UTC

This package is not auto-updated.

Last update: 2024-09-23 08:01:17 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要添加到这个列表,请发送pull请求、推文电子邮件,我们将考虑将其包含在内。

范围之外

为什么?

当我们的顾问向开源项目提交安全增强功能时,维护者有时会抱怨一些功能仅在PHP的新版本中可用,所以他们不能要求使用这些功能。我们编写这个库是为了提供所有PHP版本的兼容性,以防止这些问题发生。

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

如何工作

仅在未来的版本中存在的特性在全局命名空间中暴露。这些函数从src文件夹中调用适当的类/方法。这确保了PHP仅在需要时才加载代码。

如何使用这个库

Composer

composer require sarciszewski/php-future

任何脚本

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

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