Private statische Variablen in der PHP-Klasse

9

Ich habe ein paar Klassen, die oft durch var_dump oder print_r laufen.

Innerhalb dieser Klassen habe ich einige Variablen, die Verweise auf andere, ziemlich große Objekte sind, die immer nur eine Instanz haben und nur innerhalb der Klassen verwendet werden (außerhalb der Klassen haben sie einen eigenen Verweis auf diese Klassen) Ich wünsche, dass diese Klassen in der Ausgabe gedruckt werden, also habe ich sie als private static deklariert, was gut funktioniert.

Aber meine IDE (PHPstorm) ruft eine Fehlermeldung mit Member has private access auf, wenn ich auf sie über self::$ci->...

zugreife

Ich frage mich, ob dies ein Fehler in der IDE ist, Hervorhebung, weil es wahrscheinlich ein Fehler ist (aka es ist statisch, aber nichts außerhalb der Klasse kann darauf zugreifen, warum möchten Sie das tun?), oder weil es tatsächlich ist etwas syntaktisch falsch damit?

Als ein Beispiel hier ist ein Teil der Klasse, Beachten Sie, dass =& get_instance(); einen Verweis auf das Code-Igniter-Superobjekt zurückgibt

%Vor%     
Hailwood 29.11.2012, 21:05
quelle

1 Antwort

4

In Ihrer product() Methode versuchen Sie, auf das private Mitglied self::$ci zuzugreifen. Ihre IDE denkt, dass auf diese Methode überall zugegriffen werden kann, und erkennt einen Konflikt mit dem privaten statischen Member $ci .

    
Pcriulan 29.11.2012, 21:30
quelle