我在Eclipse PDT中使用PHP语义分析时遇到了一些问题。在这种情况下,我会收到“未定义的变量”警告:
a.php:
<?php
$a = "var";
?>
b.php:
<?php
/* @var $a String */
/* @var $var String */
include a.php;
echo $a; // Eclipse says $a is undefined
$arr = ["var" => "val"];
extract($arr);
echo $var; // Eclipse says $var is undefined
?>
我试图通过PhpDoc语法通知Eclipse有关这些变量的信息,但是它忽略了。
有没有办法摆脱警告而不是关闭它?
发布于 2015-02-27 18:39:03
语义分析不是Eclipse PDT的一部分。此功能是PEX核心插件https://github.com/pdt-eg/Core-Plugin的一部分
从注释中读取变量信息仍然在我的待办事项列表中:https://github.com/pdt-eg/Core-Plugin/issues/103
编辑:
从5.0开始,PDT有自己的内置语义验证。从5.3开始,您可以配置问题严重性(Ingore/Info/Warning/Error)。从6.0PEX开始采用变量验证器(未使用/未定义)。我们还为验证扩展添加了API (Symfony和Doctrine插件已经在使用它了)。
发布于 2017-01-24 06:21:25
这是固定的。您可以用b.php编写代码
/**
* @var string $a
* @var MyClass $otherVar
*/
echo $a; // No warning should be shown as if $a is undefined.
$otherVar-> // Autocomplete will show you MyClass methods and properties.
https://stackoverflow.com/questions/28760996
复制相似问题