标签: PHP 8.2
编程

PHP 8.2: 新增 imap_is_open 函数

691 2023-03-29 02:55:00

PHP 8.2.1 中,IMAP 扩展添加了一个名为 imap_is_open 的新函数,该函数返回给定的 IMAP 连接对象是否打开。在此之前,没有办法判断IMAP连接对象是否打开。尝试使用已经关闭的对象会导致 \ValueError 异常,因此有了 imap_is_open 函数后,可以不用再通过 try/catch 检测给定的连接对象。imap_is_...

详情...
编程

使用 DTO 保持 Context 上下文

670 2023-03-02 17:12:43

DTO(数据转换对象Data Transfer Objects)可用于多个方面。PHP 8 发布后,创建这样的类变得十分容易。从逃避数组的基本构造到为过去只是普通的旧数组添加类型安全。在 PHP 8 之前,这些也都是可能的;不过它花费了更多的样板代码,而且从未觉得有价值。随着 PHP 8.2出现,我们的选择在 PHP 生态系统中越来越开放...

详情...
编程

PHP 8.2: 新增 error_log_mode INI 设置项用来设置错误日志文件权限

1016 2022-12-10 13:11:19

PHP 8.2 引入新的 INI 指令叫做 error_log_mode,可用作配置 PHP 错误日志文件的文件权限(用 error_log 指令配置)。在 PHP8.2之前, PHP 将文件权限自动设置为 0644(相当于 rw-r--r--,即owner可读写,group和public 只读)。对于新增的 error_log_mode 指令,0644 仍...

详情...
编程

PHP 8.2: str_split 对空字符串返回空数组

723 2022-12-10 08:45:12

str_split 函数将一个指定的字符串拆分成数组,使每个值都包含给定数量的字节。Mbstring 扩展提供了对应的 mb_str_split 函数,使多字节字符的字符串可以分解成数组。在 PHP 8.2 之前,str_split 函数在碰到空字符串时会错误地返回包含空字符串("")的数组。str_split('') === [""];这一行为没有记入文档...

详情...
编程

PHP 8.2: 析取范式 (DNF) 类型

1057 2022-12-08 21:08:20

PHP 8.2 引入了对联合类型(PHP 8.0) 和相交类型(PHP8.1)二者联合的类型支持。最通用的情景是声明一个可接受相交类型或 null 的类型(比如,nullable intersection type)。

详情...
编程

PHP 8.2 正式发布

1678 2022-12-08 20:20:15

2022年12月8日,PHP 8.2 正式发布了。PHP 8.2 是PHP语言现代化旅程中一个重要的里程碑。除了一些重要的新特性和改进之外,PHP 8.2 还通过弃用对类的动态属性支持、特定非最优配置值时发出警告,以及修复一些旧版 PHP 中对数组排序和特定类型字符串转换/编码操作产生影响的行为,来提升语言效率。此次更新带来了许多改进和新特性,诸如:只读类析...

详情...
编程

PHP 8.2: Mbstring: Base64、Uuencode、QPrint 和 HTML Entity 编码弃用

1191 2022-12-07 03:35:29

PHP 多字节字符串扩展(mbstring) 添加功能,用来操作包含多字节的字符比如中文、Emojis 和其他不能用单字节表示的文字。该扩展支持将其他几种字符集比如 UTF-8/16/32 和 ISO-8859-1 之间的转换。Mbstring 也支持一些编码如 Base64, QuotedPrintable, Uuencode 和 HTML Entitie...

详情...
编程

PHP 8.2 特性 - 新增 ini_parse_quantity 函数

864 2022-12-05 12:35:27

PHP INI 指令接受可包含后缀的数据大小,用以指定单位乘数,比如 5M或者 1G。这些后缀在 PHP INI 文件中广泛使用,不过并不是国际标准后缀。 ini_parse_quantity 是在 PHP 8.2 中新加入 PHP 的函数。该函数解析由 PHP INI 值可以识别的任何数据大小(比如 56K,256M,1G) 并以 byte 返回...

详情...
编程

PHP 8.2 新特性 —— 新增 memory_reset_peak_usage 函数

790 2022-12-01 18:39:15

PHP 8.2 新增了一个名为 memory_reset_peak_usage 函数,用以重置 memeory_get_peak_usage 返回的内存使用峰值。这对于调用或迭代一个动作多次的应用是有用的,需要记录每次调用的内存峰值。没有新增的 memory_reset_peak_usage 函数重置内存使用率的能力,memory_get_pea...

详情...
编程

PHP 8.2 移除的功能 —— MySQLi 不再支持使用 libmysqli 编译

1574 2022-11-30 08:05:07

历史上 PHP 支持两个库来连接 MySQL 数据库。对于 mysqli 扩展和 pdo_mysql 扩展,这些库为连接、查询、检索和处理检索数据提供了底层的功能支持。mysqlnd (MySQL Native Driver):PHP 项目的一部分,提供了现代性功能,诸如返回原生PHP 数据类型(比如 integer),像 PHP 内核那样进行内存管理,功能...

详情...