为什么我的Netbeans不会在PHP / Javascript中突出显示未定义的变量,而是在Java中?

时间:2013-12-11 19:04:17

标签: netbeans netbeans-7

我刚刚开始使用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
   }
}

1 个答案:

答案 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,直到最近才注意到它现在就像这样。