您现在的位置是:首页 > PHP框架交流PHP框架交流

PHP8.2新特性 弃用动态属性,更加严谨

上善若水2024-03-06 12:05:41【PHP框架交流】 1209人已围观

简介PHP8.2新特性弃用动态属性,更加严谨,动态属性的创建已被弃用,以帮助避免错误和拼写错误,除非该类通过使用#[\AllowDynamicProperties]属性来选择。stdClass允许

PHP8.2新特性 弃用动态属性,更加严谨,动态属性的创建已被弃用,以帮助避免错误和拼写错误,除非该类通过使用 #[\AllowDynamicProperties] 属性来选择。stdClass 允许动态属性。

get/set 魔术方法的使用不受此更改的影响。
在旧版这种写法是正常运行的。

class User
{
    public $name;
}

$user = new User();
$user->last_name = 'Doe';

$user = new stdClass();
$user->last_name = 'Doe';

再PHP8.2以后的版本中
运行代码会报错。

PHP Deprecated:  Creation of dynamic property User::$last_name is deprecated in D:\phpstudy_pro\WWW\testphp8_0\PHP8_3\demo03.php on line 9

Deprecated: Creation of dynamic property User::$last_name is deprecated in D:\phpstudy_pro\WWW\testphp8_0\PHP8_3\demo03.php on line 9

可以利用php注解的方式让其支持老板本的这种写法。

#[AllowDynamicProperties]
class User
{
    public $name;
}

代码就可以正常运行了。

Tags: PHP8.2

很赞哦! (0)

文章评论

站点信息

  • 建站时间:2019-10-24
  • 网站程序:Thinkphp6 Layui
  • 文章统计247篇文章
  • 标签管理标签云
  • 统计数据cnzz统计
  • 微信公众号:扫描二维码,关注我们