在这种情况下,“动态声明的字段”是什么意思?

2024-01-12

我对 OOP 和 PHP 还很陌生。我正在使用 IDE PhpStorm,它给了我这个(见下文)关于我参考的警告$width.

这是我的代码:

<?php
class box {
    private $width;

    function __construct(){
        $this->width = 3;
    }
}
?>

我以前从未见过“字段”一词,并且我不完全确定“动态声明字段”这句话的含义。

看来这个警告是我今天更新 PhpStorm 后才出现的。我做错什么了吗?

另外,是否有人可以通过“注意:未对“stdClass”或派生类型的对象执行检查”来简要解释该警告的含义?


请这样做File | Invalidate Caches...并重新启动 IDE——更新后您的索引似乎已损坏/过时。


我不完全确定“动态声明的字段”这句话的含义。

这意味着字段/属性没有显式声明,而是依赖于__get() and __set()让它发挥作用的神奇方法。

在你的情况下,你确实有正确声明的字段(private $width;部分)——这只是 IDE 更新到新版本后经常发生的 IDE 故障。


另外,是否有人可以通过“注意:未对“stdClass”或派生类型的对象执行检查”来简要解释该警告的含义?

这意味着:如果对象是以下对象的实例,则不会执行此检查stdClass或扩展此类。

这是因为stdClass- 它可以接受对任何字段的调用(甚至是未定义的字段 - 它会在运行时默默地为您定义它)​​并且不会抛出通常类在这种情况下会出现的错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在这种情况下,“动态声明的字段”是什么意思? 的相关文章

随机推荐