
上QQ阅读APP看书,第一时间看更新
1.3 PHP 8的新特点
PHP 8是PHP编程语言的一个主要版本,是开发Web应用程序的一次革命,可开发和交付移动和云企业应用。
和早期版本相比,PHP 8有以下新的特点。
(1)PHP 8引入了备受期待的Just In Time(JIT)编译器,能够进一步提高PHP脚本的执行速度。JIT即时编译器(Just in Time Compiler)中,JIT是一种编译器策略,它将代码表述为一种中间状态,在运行时将其转换为依赖于体系结构的机器码,并即时执行。在PHP中,JIT将为Zend VM生成的指令视为中间表述,并以依赖于体系结构的机器码执行,也就是说托管代码的不再是Zend VM,而是更为底层的CPU。
启用JIT比较简单,在php.ini配置文件中加入以下命令:
opcache.jit=1205 opcache.jit_buffer_size=64M
(2)PHP 8合并了诸多性能优化。
(3)JSON支持现在被视为语言的核心部分,始终可用,而不是作为可选模块。
(4)支持named参数,因为它们能够指定参数名称而不是其确切顺序。
(5)支持类/属性/函数/方法/参数/常量的结构化元数据的属性(或在其他语言中也称为注释或修饰符)。
(6)支持可以指示多种不同类型的联合类型,这些类型可以用作参数或函数的返回类型。
(7)支持静态返回类型。
(8)str_contains()函数是一种检查字符串是否包含在另一个字符串中的简便方法,而不必使用strpos等。与之相似的函数还有新加入的str_starts_with()和str_ends_with()函数。
(9)添加了Nullsafe运算符,作为在方法上应用空合并行为的快速简便的方法。
(10)相比较PHP 7.4稳定版,PHP 8.0在性能上大约提升了10%,在某些方面,JIT可以提供更多的性能。