У меня есть следующая статическая функция в классе PHP:
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;
}
Статические переменные все определены, но, возможно, не установлены. Код, кажется, делает то, что я хочу, и не выдает ошибок любого уровня. Но все же моя новая установка Eclipse (Helios) PDT пометила каждый экземпляр static::$var
как «неожиданную статическую» ошибку. Если я заменю static::$var
на self::$var
, ошибка Eclipse исчезнет, но тогда код не будет работать.
Как мне убедить Eclipse, что это не ошибки?
Eclipse для разработчиков PHP
Версия: Helios Service Release 1
Идентификатор сборки: 20100917-0705
на 64 битной CentOS