php8的特性以及配置
新增 WeakMap 特性
WeakMap 允许你创建对象到任意值的映射(类似 SplObjectStorage),同时也不会阻止作为键的对象被垃圾回收。如果某个对象键被垃圾回收,对应键值对将从集合中移除。
新增 ValueError 异常
PHP 8 引入了新的名为 ValueError 的内置异常类,它继承自 Exception 基类。每次当你传递值到函数时,如果是一个无效类型,则会抛出该异常,在 PHP 8 之前,这样的操作会导致警告。
重写方法时允许可变参数
当我们在子类重写父类方法时,任何数量的参数现在都可以被替换成可变参数
静态返回类型
PHP 8 中可以使用 static 关键字标识某个方法返回该方法当前所属的类,即使它是继承的
对象的类名字面量
PHP 8 中可以使用 $object::class 获取对象的类名,其返回结果和 get_class($object) 一样
变量语法调整
new 和 instanceof 关键字现在可以被用于任意表达式
Stringable 接口
PHP 8 引入了新的 Stringable 接口,只要某个类实现了 __toString 方法,即被视作自动实现了 Stringable 接口(咋和 Go 接口实现有点像),而不必显式声明实现该接口
throw 现在可以被用作表达式
throw 语句现在可以用在只允许表达式出现的地方,例如箭头函数、合并运算符和三元运算符等:
参数列表中允许出现可选的尾部逗号
和数组中的尾部逗号类似,现在也可以在参数列表中定义一个尾部逗号:
捕获异常而不存储到变量
现在可以编写 catch (Exception) 代码来捕获异常而不必将其存储到一个变量中:
新增对 mixed 类型的支持
PHP 8 引入了新的名为 mixed 的类型,该类型等价于 array|bool|callable|int|float|null|object|resource|string
常用配置:
扩展路径
extension_dir="D:\phpstudy_pro\Extensions\php\php7.3.9nts\ext"
错误日志
error_log=D:/phpstudy_pro/Extensions/php/php7.3.9nts.log
session路径
session.save_path="D:\phpstudy_pro\Extensions\tmp\tmp"
curl证书路径
curl.cainfo =D:\phpstudy_pro\Extensions\php\php7.3.9nts\cacert\cacert.pem
error_reporting=E_ALL & ~E_NOTICE
html_errors=On
max_input_vars=3000
date.timezone=Asia/Shanghai
sqlite3.defensive = 1
留意:8缺少Interbase
zend_extension=opcache
opcache.enable=0
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.max_wasted_percentage=5
opcache.revalidate_freq=60
opcache.use_cwd=1
opcache.validate_timestamps=1
opcache.save_comments=1
opcache.enable_file_override=Off
opcache.fast_shutdown=1
opcache.mmap_base=0x20000000
上一篇: thinkphp框架的思维导图
下一篇: PHP中面向对象之Static关键字详解
推荐阅读
-
LNMP环境下,解决项目缓冲慢、502以及配置https的问题
-
通过对php一些服务器端特性的配置加强php的安全
-
spring boot Logging的配置以及使用详解
-
Linux服务器配置ip白名单防止远程登录以及端口暴露的问题
-
c#中关于string的特性介绍以及注意事项
-
动态108M和静态108M的介绍以及区别 用是108M网卡,配置软件上显示的却是54M的原因
-
VeeValidate 的使用场景以及配置详解
-
maven安装以及eclipse配置maven的方法
-
基于PHP Socket配置以及实例的详细介绍
-
.NET Core开发的iNeuOS工业互联平台,升级四大特性:配置数据接口、图元绑定数据、预警配置和自定义菜单