gpt4 book ai didi

php - 'field declared dynamically' 在这种情况下意味着什么?

转载 作者:可可西里 更新时间:2023-10-31 23:10:47 25 4
gpt4 key购买 nike

我对 OOP 和 PHP 还很陌生。我正在使用 IDE PhpStorm,它在我引用 $width 时给我这个(见下文)警告。

Warning 'Field declared dynamically'

这是我的代码:

<?php
class box {
private $width;

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

我以前从未见过“字段”一词,我也不完全确定“动态声明的字段”这句话是什么意思。

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

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

最佳答案

请执行文件 |使缓存无效... 并重新启动 IDE——更新后您的索引似乎已损坏/过时。


and I'm not entirely sure what the sentence "Field declared dynamically" means.

这意味着字段/属性没有显式声明,而是依赖于 __get()__set() 魔术方法让它工作。

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


Also, if anyone can briefly explain what the warning means by "Note: Check is not performed on objects of type "stdClass" or derived"?

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

这是因为 stdClass 的性质——它可以接受对任何字段的调用(即使是未定义的——它会在运行时默默地为你定义它)并且不会抛出通常的错误在这种情况下,类会。

关于php - 'field declared dynamically' 在这种情况下意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28993726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com