PHP已经出了7.3的版本,本文将论述一下7.3的特性和更新,小伙伴们可以在自己的测试服务器上自行安装该更新、体验新功能。
更加灵活的heredoc和nowdoc语法
新版本闭合标识符前支持缩进,闭合标识符不再强制要求换行。
函数调用中允许尾部逗号
在参数,变量结尾,可以追加尾部逗号,从7.2开始,分组命名空间也开始支持尾部逗号。
json_throw_on_error
json_encode()和json_decode(),这两个函数在之前并没有恰当的错误抛出,唯一可以获取错误的方法是调用json_last_error_msg()和json_last_error(),新版本给出了解决方案,json函数新增JSON_THROW_ON_ERROR常量用于捕获错误,当发生错误的时候,json函数会抛出JsonException异常,异常信息为json_last_error()的返回值,异常代码为json_last_error_msg()的返回值。
升级PCRE2
PHP使用PCRE作为正则表达式引擎,从7.3开始,PCRE2作为新的正则表达式引擎,PCRE2的规则小伙伴们可以自行去官网学习,这里不做阐述。
list()赋值引用
新版本中,list函数中的变量可以是引用的变量啦。
is_countable函数
新版本之前,count()用于获取对象和数组的数量,如果参数不可数,PHP会抛出警告错误,所以需要检查对象和数组是否可数,新版本提供了新函数is_countable()。
array_key_first(),array_key_last()
新版本之前,我们可以使用reset(),end(),key()等方法改变内部指针获取数组的键,新版本提供了新的函数解决这个问题。
array_key_first() 获取数组第一个元素的键名
array_key_last() 获取数组最后一个元素的键名
Argon2和Hash密码加密性能增强
PHP早期版本中增加了Argon2和哈希密码加密算法,它有三种不同的类型,Argon2i,Argon2d,Argon2id,新版本针对三种类型进行了性能优化,现在Argon2id是password_函数中使用的推荐变量。
废弃image2wbmp()函数
因与imagewbmp()函数功能重复,故废弃。
废弃大小写不敏感的常量
新版本废弃使用true作为define()的第三个参数,废弃使用大小写不敏感的常量。
同站点cookie
新版本建议使用cookie时,增加同站点标识,允许以数组方式代替其他单独参数。
FPM更新
进程管理器进行了更新,提供了新的方式记录fpm日志。
log_limit: 设置允许的日志长度。
log_buffering: 允许不需要额外缓冲去操作日志。
改进windows下文件删除
改进功能,感兴趣的小伙伴可以去官网查看。
领取专属 10元无门槛券
私享最新 技术干货