我刚刚开始使用Netbeans(NetBeans IDE 7.4(Build 201310111528))。设置花了很长时间,但我不能为我的生活弄清楚为什么未定义的变量不会突出显示PHP和Javascript。我选择了> hints>语言:PHP,并确保已检查单位变量,并显示为:警告(通过引用初始化的检查变量已关闭)。当未定义的变量什么都没有时,一些错误被正确突出显示。这是一个简单程序的例子:
<?php
$b=$g+$g; //no error
$a=$sadfhasdf8adhfieiofwffsd; //no error
; //empty statement error
a=a; //syntax error
?>
奇怪的是,如果我切换到Java,一切正常:
public class JavaApplication2 {
public static void main(String[] args) {
int a=22;
int b= a*c; //cannot find symbol "c" correctly working
}
}
答案 0 :(得分:3)
以下是它在Netbeans 7.4和8.0 Beta中的工作原理:
<?php
// Example 1
$foo = $bar; // DOES NOT give "Variable $bar seems to be uninitialized" error.
// Example 2
function do_something_function () {
$foo = $bar; // Gives "Variable $bar seems to be uninitialized" error.
}
// Example 3
class foo {
public static function do_something_method () {
$foo = $bar; // Gives "Variable $bar seems to be uninitialized" error.
}
}
?>
换句话说,它会在函数或方法(示例2和3)中标记错误,但不会在全局空间(示例1)中标记错误。
这是Netbeans 7.4和8.0 Beta的行为 - 但我认为并非总是这样。我不确定它何时切换。我多年来一直在使用Netbeans,直到最近才注意到它现在就像这样。