当前位置: 首页 > 后端技术 > PHP

PHP7.4新特性

时间:2023-03-30 05:41:50 PHP

原始来源:https://geixue.com/blogs/chan...PHP7.4预计2019年底正式发布,本文先来了解一下PHP7.4的新特性PHP7.4。1.预加载预加载的实现理论上可以给PHP带来很大的性能提升。例如:传统的PHP框架或项目现在通过一个请求加载并重新编译一个文件。预加载的实现让我们可以直接将PHP文件加载到内存中,并且一次永久驻留在内存中以处理后续的请求。(有点像swoole?)不过preloading也会带来一点机器内存需求和一些损耗。还需要注意的是,每次更新PHP文件后,都需要重启服务才能使新的PHP文件生效。2.属性类型限制定义类属性时,可以将属性的类型限制为stringboolean或类的实例:classGeiXue{publicstring$name;publicFoo$foo;}3.类型限制其实仅限于PHP很早以前就支持了,但是在7.4版本之后,PHP做得更好了。让我们看两个例子:*...*/}}或者下面你熟悉的例子:参数类型限制classA{publicfunctioncontraVariantArguments(Child$child){/*...*/}}classBextendsA{publicfunctioncontraVariantArguments(Parents$parent){/*...*/}}你应该经常在Laravel项目中看到这些。4.外函数接口外函数接口(ForeignFunctionInterface)一般允许你调用C代码,也就是说最好的应用场景可能是:以后可以直接在PHP中写PHP扩展!不过需要注意的是,目前这个还是比较复杂的,最好有一点C语言的基础。5.新的Null三元运算符我们以前可能会这样写:$data['date']=$data['date']??新的日期时间();在PHP7.4之后,您可以这样做:$data['date'']??=newDateTime();6.自定义对象序列化在PHP7.4中,新增了__serialize和__unserialize两个魔术方法,您可以使用它们来自定义对象的序列化。7.添加mb_str_split函数。此函数是str_split函数的mb(多字节)版本。和你接触过的mb_substr和substr是一样的。8.默认情况下不再启用PEAR。由于PEAR的开发已经很久没有活跃了,所以PHP官方团队决定去掉PEAR的默认启用。9、废除ext/wddx这种数据交换格式,似乎一直没有行业标准,是时候让他们退休了。最后需要注意的是PHP7.4的向后不兼容问题,可以通过这个链接查看详情:https://github.com/php/php-sr...HappyHacking!