![](/img/trans.png)
[英]Eclipse compilation errors when enabling semantic analysis on SPL classes
[英]Eclipse PDT - Semantic Analysis
我在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这些变量,但是它忽略了它。
有什么方法可以消除不关闭警告的情况?
语义分析不是Eclipse PDT的一部分。 此功能是PEX Core-Plugin https://github.com/pdt-eg/Core-Plugin的一部分
从注释中读取变量信息仍然在我的待办事项列表中: https : //github.com/pdt-eg/Core-Plugin/issues/103
编辑:
PDT从5.0开始具有自己的内置语义验证。 从5.3开始,您可以配置问题严重性(Ingore / Info /警告/错误)。 从6.0开始,采用了PEX Variable Validator(未使用/未定义)。 我们还添加了用于验证扩展的API(Symfony和Doctrine插件已在使用它)。
这是固定的。 您可以在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.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.