PHPStorm:由INCLUDE/REQUIRED导致的未定义变量

2022-03-04 00:00:00 variables undefined php phpstorm require

PHPStorm显示来自其他文件的所有变量(无论是必需的还是包含的)都是未定义的。我找到了这个解决方案here,但是在我禁用该选项Ignore 'include' and 'require' statements之后,IDE忽略了所有未定义的变量。

例如,我有一个内容为$name = 'Bob'的文件a.php和一个需要文件a.php的文件b.php。当我在文件b.php中键入echo $name时,它按预期工作并显示'Bob'。但是,IDE会突出显示变量$name,声明它是未定义的。如果禁用该选项,IDE将停止突出显示该选项。

使用该选项,我现在可以编写任何变量,例如文件b.php中的$sdadasdasdas,并且IDE不会突出显示它。

PHPStorm能否了解哪些变量设置在包含/必需的文件中,哪些没有设置?


解决方案

以上所有答案都会删除或取消IMHO不是很好的解决方案的警告。

最佳方案是使用变量添加挡路单据的表头。

示例:

<?php
/**
 * @var string $name
 * @var FormData $form
 */
?>

这不仅可以防止显示"未定义的变量"警告,还可以记录您的代码并使自动完成功能按预期工作。

相关文章