PHP 社区 · 版本
升级指南:破坏性变更对照
记录每个大版本的发布时间、语言特性、破坏性变更与官方支持窗口。EOL 时间取自 php.net 的 supported-versions 页面,社区页会定期同步。
| 变更点 | 旧写法 | 新写法 | 生效版本 |
|---|---|---|---|
| 隐式可空参数 | function f(int $x = null) | function f(?int $x = null) | 8.4 起弃用,9.0 移除 |
| 字符串与数字比较 | "abc" == 0 为 true | 统一为按字符串比较 | 8.0 起改变 |
| 动态属性 | 对象可任意赋值新属性 | 需 #[AllowDynamicProperties] | 8.2 起弃用 |
| 静态调用非静态方法 | 允许并告警 | 直接报错 | 8.0 起移除 |
真实实现中,版本数据以 JSON 存于仓库并由构建期写入 MySQL;/releases/lifecycle 与 /releases/upgrade 各自是独立 slug,便于单独做 SEO 与订阅。