https://www.php.net/releases/8.0/zh.php

https://www.php.net/releases/8.1/zh.php

https://www.php.net/releases/8.2/zh.php

https://www.php.net/releases/8.3/zh.php

PHP 8.3.0 版本发布公告总结:

新功能和改进

  1. 类型化类常量

    • 允许在接口中定义类型化常量,从而在实现类中强制执行类型约束。

    • 防止在实现类中使用不同类型的常量值。

  2. 动态获取类常量

    • 新增了从类中动态获取常量值的功能,简化了代码的书写和维护。

  3. 新增 #[\Override] 属性

    • 通过添加该属性,PHP 将在父类或接口中验证是否存在同名方法。

    • 有助于防止拼写错误并简化代码重构。

  4. 只读属性深拷贝

    • 允许在魔术方法 __clone 中修改只读属性,实现深拷贝。

  5. json_validate() 函数

    • 新增 json_validate() 函数,用于快速验证 JSON 字符串的语法正确性,比 json_decode() 更高效。

  6. Randomizer::getBytesFromString() 方法

    • 新增方法用于生成由特定字节组成的随机字符串,简化随机标识符的生成。

  7. Randomizer::getFloat() 和 Randomizer::nextFloat() 方法

    • 提供无偏差地生成浮点数的方法,确保精度和范围的正确性。

  8. 命令行 linter 支持多个文件

    • 现在可以在命令行中一次性检查多个文件的语法错误。

新增类、接口和函数

  1. DOM 扩展

    • 新增多个方法,如 DOMElement::getAttributeNames()DOMElement::insertAdjacentElement() 等。

  2. Intl 扩展

    • 新增 IntlCalendar::setDate()IntlGregorianCalendar::createFromDate() 等方法。

  3. LDAP 扩展

    • 新增 ldap_connect_wallet()ldap_exop_sync() 函数。

  4. 多字节字符串 (mbstring) 扩展

    • 新增 mb_str_pad() 函数。

  5. POSIX 扩展

    • 新增 posix_sysconf()posix_pathconf() 等函数。

  6. 反射 (Reflection) 扩展

    • 新增 ReflectionMethod::createFromMethodName() 方法。

  7. Socket 扩展

    • 新增 socket_atmark() 函数。

  8. 字符串函数

    • 新增 str_increment()str_decrement()stream_context_set_options() 函数。

  9. Zip 扩展

    • 新增 ZipArchive::getArchiveFlag() 方法。

  10. OpenSSL 扩展

    • 支持使用自定义 EC 参数生成 EC 密钥。

  11. INI 配置

    • 新增 zend.max_allowed_stack_size 设置,用于设置允许的最大堆栈大小。

    • php.ini 现在支持后备/默认值语法。

  12. 匿名类

    • 现在可以是只读的。

弃用和向后不兼容

  1. Date/Time 异常

    • 更合适的异常处理机制。

  2. 数组负索引

    • 在空数组中获取负索引时,将确保下一个索引是 n + 1 而不是 0

  3. range() 函数

    • range() 函数进行了更改。

  4. Traits 中静态属性

    • 重新声明静态属性的行为发生了变化。

  5. U_MULTIPLE_DECIMAL_SEPARATORS 常量

    • 已被废弃,改为 U_MULTIPLE_DECIMAL_SEPARATORS

  6. MT_RAND_PHP Mt19937 变体

    • 已被废弃。

  7. ReflectionClass::getStaticProperties()

    • 不再返回空值。

  8. assert 配置

    • assert.activeassert.bailassert.callbackassert.exceptionassert.warning 配置已被废弃。

  9. get_class() 和 get_parent_class()

    • 调用时未提供参数的行为已被废弃。

  10. SQLite3 错误模式

    • 默认错误模式设置为异常。

性能和语法改进

  • 提高了性能,改进了语法,并增强了类型安全性。

资源和文档

  • 可以在 下载页面 下载 PHP 8.3 源代码。

  • Windows 二进制文件可在 PHP for Windows 站点找到。

  • 变更历史记录清单可在 ChangeLog 中查看。

  • 详细的新功能和向后不兼容的变化请参考 PHP 手册中的 迁移指南

所有用户都可以去薅羊毛,192元充值200元话费!先到先得!导航栏话费充值,正规可靠,快充慢充自由选择。
欧阳逸资源站 » php8更新了什么

发表评论