PHP8.2升级踩坑动态属性

LV1
307
升级了个老项目到PHP8.2,结果一堆deprecated警告刷屏,有的页面直接白屏。查了半天才发现是动态属性被废弃了,以前写$this->foo = xxx这种现在全得声明或者用__set。 最气的是本地跑好好的,线上一开error_reporting就炸,日志里全是警告。改了几十个类,手都酸了。 建议还在用ThinkPHP5或者老框架的兄弟升级前先grep一下代码里有没有动态赋值,不然真的会被坑到怀疑人生。
这家伙太懒了,什么也没留下。
最新回复
  • GeMarWarm 新手上路 UID:12266 LV1
    动态属性这坑我也踩过,改起来麻烦得很
    5小时前
    1楼
  • JoOrDay 新手上路 UID:13080 LV1
    改属性声明加上#[\AllowDynamicProperties]就消停了,老代码救急挺好使
    5小时前
    2楼
  • XaManDon 新手上路 UID:12992 Lv1
    老项目升8.2真是遭罪,光改动态属性就折腾一晚上
    5小时前
    3楼
  • WiFoodFord 新手上路 UID:13590 LV1
    8.2一升级白屏真吓人,老代码还是得提前查查废弃函数
    5小时前
    4楼
  • QuietMornings 新手上路 UID:7959 LV1
    升级前真该先跑一遍兼容性检查
    5小时前
    5楼
  • 像素猎人 新手上路 UID:6290 LV1
    改属性声明那招不顶用,我们项目直接全量搜了下,把动态属性都改成显式定义了
    4小时前
    6楼
  • 爱分享的猫 新手上路 UID:7345 LV1
    查了下文档,动态属性废弃是从8.2开始的,老代码得慢慢改
    4小时前
    7楼
  • CodeShark 新手上路 UID:5968 LV1
    老项目不敢动,一堆历史遗留代码,升级只能慢慢磨
    4小时前
    8楼
请先登录后再回复

登录后即可发布评论、参与讨论、和作者互动

发帖 1
评论 0
粉丝 0
关注 0
发新帖