unity-magento-git-hub-user / php-future
将新特性(5.6+)填充到旧版本(5.4+)的PHP中
1.0.0
2017-06-30 09:54 UTC
Requires (Dev)
- phpunit/phpunit: 4.5.*
This package is not auto-updated.
Last update: 2024-09-23 08:01:17 UTC
README
这个库将一些新特性移植到旧的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请求、推文或电子邮件,我们将考虑将其包含在内。
范围之外
- 密码API - 直接访问https://github.com/ircmaxell/password_compat获取这些实现
password_hash()
password_verify()
- PHP 7 CSPRNG - 直接访问https://github.com/paragonie/random_compat获取这些实现
random_bytes()
random_int()
为什么?
当我们的顾问向开源项目提交安全增强功能时,维护者有时会抱怨一些功能仅在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";