1、新的 Zend 引擎
Zend 引擎从 1999 年的 php4 开端就开端驱动着 php,Zend(不要与 zend framework 殽杂)是一个用 C 措辞开拓的开源引擎。现在的 php 5.X 的版别用的 Zend II 版别,它对 php 来说有着重要的性能提高。Php7 将选用叫 PHPNG 的新引擎来驱动。
2、更方便的缺点处理
捕获和处理差错对付 php 程序猿来说,历来不是一件大略的活。新的引擎将答应你用反常来替代差错,就像在 php 5.X 的版别中一样,在 php7 中如果反常没被捕获,php 将回来差错。
\EngineException 目标没有承继 \Exception,这确保了代码的向后兼容和在差错处理时的两种不同类型的反常处理:传统的和新的引擎的反常处理。为了方便捕获两种反常,php7 引入了新的如下的反常处理办法:
3、64 位 windows 操作系统的支持
php 是 LAMP 的成员,也就意味着它原生的环境是 Linux,但它也能在 windows 操作系统上运转 5.X 版本还不支撑 64 位整形或者大文件的支撑,因此 X64 系列的架构的 windows 仍是试验性的。而 php7 将会支撑支撑 64 位的 windows,也意味着 64 位整形和大文件将被支撑。
4、标量类型声明
标量类型声明有两种模式:逼迫 (默认) 和 严格模式。 现在可以利用下列类型参数(无论用逼迫模式还是严格模式):字符串(string),整数 (int),浮点数 (float),以及布尔值 (bool)。它们扩充了 PHP5 中引入的其他类型:类名,接口,数组和 回调类型。
要利用严厉模式,一个 declare 声明指令有必要放在文件的顶部。这意味着严厉声明标量是根据文件可配的。这个指令不但影响参数的类型声明,也影响到函数的返回值声明(拜见 返回值类型声明, 内置的 PHP 函数以及扩展中加载的 PHP 函数)。
5、密码哈希中的 Argon2
Argon2 是荣获 2015 年密码哈希算法比赛中的冠军的强大哈希算法,PHP 7.2 将其作为安全 Bcrypt 算法的替代品。新版的 PHP 中引入了 PASSWORD_ARGON2I 常量,现在可以在 password_ 系列函数中利用:
password_hash('password', PASSWORD_ARGON2I);
与只利用一个 cost 因子的 Bcrypt 不同, Argon2 利用三个 cost 因子 区分如下:
定义哈希打算期间该当花费的 KiB 数量的内存开销(默认值为 1 << 10 或 1024 KiB 或 1 MiB);定义哈希算法迭代次数的韶光开销(默认值为 2);并行因子,用于设置哈希打算时利用的并行线程数(缺省值为 2)。以下三个新常量定义了默认的 cost 因子:
PASSWORD_ARGON2_DEFAULT_MEMORY_COSTPASSWORD_ARGON2_DEFAULT_TIME_COSTPASSWORD_ARGON2_DEFAULT_THREADS
为什么我爱技能网这次要来评论 PHP7 呢?由于猿姐之前收到一个巨大的音讯,还有十多天就中止 PHP 5.6 安全支撑!
依据 PHP 官方网站列出的支撑版别及时刻表(如下),PHP 5.6 安全支撑将于 2018 年 12 月 31 日停滞。即 15 天后,利用 PHP 5.6 版别的网站将不再收到安全漏洞或差错更新。
Paragon Initiative Enterprise 的首席开拓官 Scott Arciszewski 在接管采访时表示,对付 PHP 生态系统来说,这是一个巨大的问题。许多人认为他们可以“侥幸”在 2019 年连续运行 PHP 5,而这实在是一种安全事情上的刻意轻忽。
事实上,PHP 5.6 的紧张及安全更新期早就结束,但因利用的网站较多,因此,PHP 保护安排曾一度别离延伸其支撑时候。有些人将这种状况描述为 PHP 风险。较新的 PHP 7.0 将不再在 2018 年 12 月 3 日的 EOL(生命周期结束)供应安全支撑。即便是版别 PHP 7.1 也将于 2019 年 12 月 1 日终止,即一年后中止安全支撑。
目前三大网站内容管理体系(CMS)项目中,只有 Drupal 宣告从 2019 年 3 月 6 日起,Drupal 支撑网页最低哀求 PHP 7,主见利用 7.1 版。Joomla 推举利用 5.6 或更高版别,支撑下限为 5.3.10。WordPress 主见利用 PHP 7.2 或更高版别,最低支撑 5.2.4。