gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-10-31 22:07:16 26 4
gpt4 key购买 nike

我在 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 相信这些不是错误?

面向 PHP 开发人员的 Eclipse版本:Helios Service Release 1内部版本号:20100917-0705在 64 位 CentOS 上

最佳答案

Late Static Binding是在 PHP 5.3 中引入的。检查 Window > Preferences > PHP > Executables and Interpreter 以确保 Eclipse 使用的是 PHP 5.3。

enter image description here

关于php - 为什么 Eclipse 反对 `static::$var` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4958730/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com