详解PHP7.3

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下文件删除

改进功能,感兴趣的小伙伴可以去官网查看。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190110A1C0O500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券