9
我有几个类经常运行通过var_dump
或print_r
。php中的私有静态变量类
在这些类里面我有几个变量是引用其他相当大的对象的,它们只有一个每个实例,只在类中使用(类外部有它们自己对这些类的引用)不希望这些类打印在输出中,所以我宣布它们为private static
这是正常工作。
但我的IDE(PHPstorm)被弹了Member has private access
错误级别的警报,当我访问他们通过self::$ci->...
我想知道,如果这是在IDE中的错误,凸显因为它可能是一个错误(又名它是静态的,但是课堂外没有人可以访问它,为什么要这样做呢?),还是因为它实际上在语法上有错误?
举例来说这里是类的一部分, 注意=& get_instance();
返回Code Igniter super object
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;
}
需要看到更具体的代码,我想(尽管'self :: $ ci->'画了足够的图片),但我想这只是PHPStorm的一个奇怪的行为。 –
@MichaelBerkowski添加的代码是否绘制出更好的图片? – Hailwood
也许它的行为方式是因为你在非静态方法中调用'self'? –