Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Both sides previous revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
php:paamayim_nekudotayim [2015/04/09 13:48] webproducer statische Methoden |
php:paamayim_nekudotayim [2015/12/19 00:00] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Gültigkeitsbereichsoperator (Paamayim Nekudotayim) ====== | ====== Gültigkeitsbereichsoperator (Paamayim Nekudotayim) ====== | ||
- | Mit dem Gültigkeitsbereichsoperator (zwei hingereinander gestellte Doppelpunkte) kann auf Konstanten, statische Variablen und statische Methoden (siehe unten) einer Klasse zugegriffen werden, ohne vorher eine Instanz (ein Objekt) der Klasse zu erzeugen. | + | Mit dem Gültigkeitsbereichsoperator (zwei hingereinander gestellte Doppelpunkte) kann auf Konstanten, statische Variablen und statische Methoden (siehe unten) einer Klasse zugegriffen werden, ohne vorher eine Instanz (ein Objekt) der Klasse zu erzeugen. Allerdings ist ein Zugriff auf die Pseudovariable "$this" bei einem nicht instanziiertes Objekt NICHT möglich! |
//Beispiel:// | //Beispiel:// | ||
Zeile 28: | Zeile 28: | ||
===== statische Methoden ===== | ===== statische Methoden ===== | ||
- | Auf statisch deklarierte Methoden einer Klasse kann auch direkt ohne instanziiertes Objekt zugegriffen werden Wenn keine Sichtbarkeit (public, private oder protected) der Methode deklariert ist, wird diese standardmässig als "public static" behandelt. | + | Auf statisch deklarierte Methoden einer Klasse kann auch direkt ohne instanziiertes Objekt zugegriffen werden Wenn keine Sichtbarkeit (public, private oder protected) der Methode deklariert ist, wird diese bis zur PHP-Version 5.6 standardmäßig als "public static" behandelt. **Ab PHP 5.6 ruft der direkte Zugriff ohne instanziiertes Objekt auf eine nicht als "static" deklarierte Funktion einen Fehler der Stufe E_DEPRECATED (vormals E_STRICT) auf! Um den Fehler zu vermeiden muss also ab PHP-Version 5.6 die Funktion als "public static" deklariert werden (weitere Infos: http://php.net/manual/de/migration56.deprecated.php)** |