PHP 8.1: Serializable 接口弃用
PHP 支持 serialize 和 unserialize 函数用于将类对象、数组及其他标量数据转换为序列化字符串格式,及从序列化字符串中重建。PHP 类可以提供他们自己的序列化实现。比如,类可以排除特定敏感信息,不将其添加到序列化字符串中,或者类可以从序列化文本中获取的服务器URL重新建立与远程服务器的连接。PHP 类有三种方式提供自定义序列化逻辑:...
PHP 8.1: MySQLi: 执行时绑定
PHP 8.1 起,MySQLi 扩展的 mysqli_stmt_execute 函数及 mysqli_stmt::execute 方法(别名) 接收一个 $params 参数。如果传入参数,传入的值会被当作字符串绑定到语句中。此前,参数化的 SQL 查询需要调用 bind_param 显式绑定变量:$statement = $db->prepare(...)
PHP 8.1: 显式八进制数字表示法
PHP 支持多种数字系统,包括默认的十进制数字、二进制数字、八进制数字及十六进制数。十进制之外的数字系统都有它们自己的前缀:十六进制 0x 前缀: e.g. 0x11 = 17二进制 0b 前缀: e.g. 0b11 = 3八进制 0 前缀: e.g. 011 = 9PHP 8.1 之后,八进制也支持 0o(零及字母o)前缀,这意味着八进制字面量可以更明显及...
PHP 8.1: 相交类型(Intersection Types)
PHP 8.1 支持相交类型(Intersection Types),它允许为参数、属性或返回类型声明类型,并强制值属于所有声明的类/接口类型。这与允许任何已声明类型的联合类型(Union Type)相反。PHP 8.1的交集类型实现被称为“纯”交集类型,因为不允许在同一声明中组合联合类型和交集类型。交集类型是通过使用 & 将类/接口名称组合来声明的...
PHP 8.1 新特性解析: 新增 #[ReturnTypeWillChange] 属性
#[\ReturnTypeWillChange] 是 PHP 8.1 引入的新特性,这表示不匹配的暂定返回类型不应该发出弃用通知。PHP 8.0 之前的版本将属性语法解析为代码注释,不会导致任何语法错误。在类方法中添加 #[\ReturnTypeWillChange] 属性不会导致任何问题,但在PHP 8.1中可以忽略了弃用通知。这是添加到 PHP 的第一个...
PHP 8.1: First-class 可调用(callable)语法
PHP 8.1 及以上版本支持在当前作用域中创建 callable 的新语法。相比用 Closure::fromCallable,借助该语法使用函数或方法的调用方式来创建 callable 使之更容易。Closure::fromCallable 从PHP callable(函数名,方法或匿名函数)中返回一个 callable (Closure 对象) 。该语...
PHP 8.1 - IMAP扩展:imap 资源使用 IMAP\Connection 类对象
PHP 8.1 中,imap 扩展的 IMAP 连接资源迁移到了类对象上。PHP 8.1 之前,imap_open() 函数返回一个 imap 类型的资源对象。从 PHP 8.1 开始,它返回 IMAP\Connection 类实例。
PHP 8.1 - FTP 扩展:连接资源使用 FTP\Connection 类对象
ftp 扩展的 FTP 连接资源迁移到 PHP 8.1 的类对象上。在 PHP 8.1 之前,FTP 连接使用 ftp_connect() 和 ftp_ssl_connect() 函数创建,这些函数返回一个类型为 ftp 的资源(resource)。在 PHP 8.1 以后,这些函数返回一个 FTP\Connection 类实例。所有之前接受资源类型参数的函...
PHP 8.1: GD 库添加了 webp 无损编码支持
PHP 8.1 中,GD 库支持了无损编码,并声明了一个新的 PHP 常量 IMG_WEBP_LOSSLESS,该常量用于传入到 imagewebp 函数以启用 GdImage 对象的无损编码。无损模式要求:PHP 8.1 或更高版本。GD 库,使用 WebP 支持编译 libwebp 版本 0.2.0 或更高版本。IMG_WEBP_LOSSLESS 常量 GD 库在 P...
PHP 8.1: GD 库添加了 AVIF 图片支持
AVIF(AV1 Image File)是相对较新的图片格式,它支持多种特性比如透明度和 HDR。它是一种基于 AV1 视频格式的免版税图片格式,并且以较低的文件大小提供更高的压缩。AVIF 图片格式最近才标准化,Chrome 85+ 和 FireFox 86+ 默认已经开始支持 AVIF 图片了。PHP 8.1 及更高版本的 GD 扩展支持 AVIF 图片格...