繁体   English   中英

Eclipse PDT-语义分析

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM