9

我有几个经常通过var_dump或运行的课程print_r

在这些类中,我有一些变量是对其他相当大的对象的引用,每个对象只有一个实例,并且仅在类内部使用(类外部对这些类有自己的引用)我不希望这些类打印在输出中,所以我已经声明它们private static工作正常。

Member has private access但是当我通过访问它们时,我的 IDE (PHPstorm) 会弹出一个错误级别的警报self::$ci->...

我想知道这是否是 IDE 中的一个错误,突出显示是因为它可能是一个错误(又名它是静态的,但类外没有任何东西可以访问它,你为什么要这样做?),或者因为实际上存在语法错误用它?

作为示例,这里是类的一部分,注意=& get_instance();返回对Code Igniter 超级对象的引用

private static $ci = null;

public function __construct(){
    self::$ci = self::$ci =& get_instance();
}

public function product() {
    if ($this->product == null) {
        self::$ci->products->around($this->relative_date);
        $this->product = self::$ci->products->get($this->product_id);
    }
    return $this->product;
}
4

1 回答 1

4

In your product() method you're trying to access the private member self::$ci. Your IDE thinks that this method can be accessed anywhere, and detects a conflict with the private static member $ci.

于 2012-11-29T21:30:42.990 回答