我是OOP和PHP的新手。我正在使用IDE PhpStorm,并在参考时向我发出此警告(请参阅下文)$width
。
这是我的代码:
<?php
class box {
private $width;
function __construct(){
$this->width = 3;
}
}
?>
我以前从未见过术语“字段”,而且我也不完全确定“动态声明字段”是什么意思。
我更新PhpStorm之后,似乎才刚出现此警告。我做错什么了吗?
另外,如果有人可以通过“注意:未对类型为“ stdClass”或派生的对象执行检查”来简要解释警告的含义?
请执行File | Invalidate Caches...
并重新启动IDE-更新后您的索引似乎已损坏/已过期。
我不完全了解“动态声明字段”一词的含义。
这意味着该字段/属性不明确声明,但依赖于__get()
和__set()
魔术方法有它的工作。
在您的情况下,您确实声明了正确的字段(private $width;
部分)-这只是在IDE更新到较新版本后经常发生的IDE故障。
另外,如果有人可以通过“注意:未对类型为“ stdClass”或派生的对象执行检查”来简要解释警告的含义?
这恰好意味着:如果对象是stdClass
此类的实例或扩展了此类,则不会执行此检查。
这是由于其性质stdClass
-它可以接受对任何字段的调用(甚至是未定义的-它将在运行时为您静默地定义它),并且不会引发在此类情况下普通类会出现的错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句