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:30] webproducer Beschreibung erweitert |
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 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 10: | Zeile 10: | ||
const Farbe = "rot"; | const Farbe = "rot"; | ||
- | public function Temperatur( $Grad ) | + | public static function Temperatur( $Grad ) |
{ | { | ||
if( $Grad > 20 ) | if( $Grad > 20 ) | ||
Zeile 23: | Zeile 23: | ||
</code> | </code> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== 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 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)** | ||
+ |