duadlkc5762218 2011-02-10 15:04
浏览 113
已采纳

为什么Eclipse反对`static :: $ var`?

I have the following static function in a PHP class:

static function __callStatic($method,$args){
    $called=NULL;
    if(empty(static::$collection)) static::slurp();
    if(method_exists(static::$objtype,$method)){
        foreach(static::$collection as $obj){
            $called[]= call_user_func_array(array($obj, $method), $args);
        }
    } else if (property_exists(static::$objtype,$method)){ //$method isn't a method, it's a property
        foreach(static::$collection as $obj){
            $called[]= $obj->$method;
        }
    } else if($method=='collection'){
        $called=static::$collection;
    } else {
        throw new ZException("$method does not exist");
    }
    return $called;
}

The static variables are all defined but possibly not set. The code appears to do what I want it to and throws no errors of any level. But yet my new installation of Eclipse (Helios) PDT has marked every instance of static::$var as an 'unexpected static' error. If I replace static::$var with self::$var the Eclipse error goes away- but then the code doesn't work.

How do I convince Eclipse that these are not errors?

Eclipse for PHP Developers Version: Helios Service Release 1 Build id: 20100917-0705 on 64 bit CentOS

  • 写回答

2条回答 默认 最新

  • dongrong1856 2011-02-10 15:17
    关注

    Late Static Binding was introduced with PHP 5.3. Check Window > Preferences > PHP > Executables and Interpreter to make sure Eclipse is using PHP 5.3.

    enter image description here

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备