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'? –