resonantcore / php-future
v0.5.0
2018-06-05 21:52 UTC
Requires
- ircmaxell/password_compat: ^1.0
- paragonie/random_compat: ^1|^2
- paragonie/sodium_compat: ^1.6
Requires (Dev)
- phpunit/phpunit: 4.5.*
This package is not auto-updated.
Last update: 2019-02-20 18:27:38 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 request、tweet或电子邮件,我们将考虑将其包含在内。
范围之外
- 密码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版本的兼容性,并防止这些问题发生。
将来,我们将尝试为5.5和5.6版本可能使用的PHP 7特性进行回滚。
它是如何工作的
仅在未来的版本中存在的功能在全局命名空间中暴露。这些函数从 src 文件夹调用适当的类/方法。这确保了PHP只在实际需要时加载代码。
如何使用此库
Composer
composer require sarciszewski/php-future
任何脚本
只需在我们 src 目录之外包含我们的 autoload.php 脚本,就可以开始使用了。例如
require_once "vendor/sarciszewski/php-future/autoload.php";