PHP stellt jedem ausgeführten Skript eine große Anzahl vordefinierter Konstanten zur Verfügung.
Viele Konstanten werden jedoch von verschiedenen Erweiterungsbibliotheken definiert und erscheinen nur, wenn diese Erweiterungsbibliotheken geladen werden, entweder dynamisch geladen oder zur Kompilierzeit eingebunden.
Es gibt acht magische Konstanten, deren Werte sich je nach Position im Code ändern.
Der Wert von __LINE__ hängt beispielsweise von der Zeile ab, in der er sich im Skript befindet. Diese speziellen Konstanten unterscheiden nicht zwischen Groß- und Kleinschreibung und lauten wie folgt:
Die aktuelle Zeilennummer in der Datei.
<?php Echo ' Dies ist die Zeilennummer " ' .__ LINE__ . ' " ;
Das Ausgabeergebnis des obigen Beispiels ist:
Das ist Zeile „2“
Der vollständige Pfad und Dateiname der Datei. Bei Verwendung innerhalb einer eingebundenen Datei wird der Name der eingebundenen Datei zurückgegeben.
Seit PHP 4.0.2 enthält __FILE__ immer einen absoluten Pfad (oder den aufgelösten absoluten Pfad im Fall eines symbolischen Links), während Versionen davor manchmal einen relativen Pfad enthielten.
Beispiel:
<?php Echo ' Die Datei befindet sich unter " ' . __FILE__ . ' " ' ;
Das Ausgabeergebnis des obigen Beispiels ist:
Die Datei befindet sich unter „E:wampwwwtestindex.php“.
Das Verzeichnis, in dem sich die Datei befindet. Bei Verwendung innerhalb einer eingebundenen Datei wird das Verzeichnis zurückgegeben, in dem sich die eingebundene Datei befindet.
Es entspricht dirname(__FILE__). Verzeichnisnamen enthalten keinen abschließenden Schrägstrich, es sei denn, es handelt sich um das Stammverzeichnis. (Neu in PHP 5.3.0)
<?php Echo ' Die Datei befindet sich unter " ' . __DIR__ . ' " ' ;
Das Ausgabeergebnis des obigen Beispiels ist:
Die Datei befindet sich unter „E:wampwwwtest“
Funktionsname (neu in PHP 4.3.0). Seit PHP 5 gibt diese Konstante den Namen der Funktion zurück, als sie definiert wurde (Groß-/Kleinschreibung beachten). In PHP 4 ist dieser Wert immer kleingeschrieben.
<?php Funktion prüfen ( ) { Echo ' Funktionsname : ' .__ FUNCTION__ ; test ( ) ; ?>
Das Ausgabeergebnis des obigen Beispiels ist:
Funktionsname: test
Der Name der Klasse (neu in PHP 4.3.0). Seit PHP 5 gibt diese Konstante den Namen der Klasse zurück, als sie definiert wurde (Groß-/Kleinschreibung beachten).
In PHP 4 ist dieser Wert immer kleingeschrieben. Der Klassenname enthält den Bereich, in dem er deklariert ist (z. B. FooBar). Beachten Sie, dass __CLASS__ seit PHP 5.4 auch für Merkmale funktioniert. Bei Verwendung innerhalb einer Trait-Methode ist __CLASS__ der Name der Klasse, die die Trait-Methode aufruft.
<?php Klasse prüfen { Funktion _print ( ) { Echo ' Klassenname : ' __CLASS__ ' Funktionsname : ' .__ FUNCTION__ ; } $t = neu test ( ) ; $t - > _print ( ) ;
Das Ausgabeergebnis des obigen Beispiels ist:
Klassenname: test Funktionsname: _print
Der Name des Merkmals (neu in PHP 5.4.0). Seit PHP 5.4.0 hat PHP eine Methode zur Code-Wiederverwendung namens Traits implementiert.
Der Merkmalsname enthält den Bereich, in dem er deklariert ist (z. B. FooBar).
Von der Basisklasse geerbte Mitglieder werden von der MyHelloWorld-Methode im eingefügten SayWorld-Merkmal überschrieben. Sein Verhalten stimmt mit den in der MyHelloWorld-Klasse definierten Methoden überein. Die Rangfolge ist, dass Methoden in der aktuellen Klasse Merkmalsmethoden überschreiben, die wiederum Methoden in der Basisklasse überschreiben.
<?php Klasse Base { öffentlich Funktion sagHallo ( ) { Echo ' Hallo ' ; } } Eigenschaft SayWorld { öffentlich Funktion sagHallo ( ) { parent :: sayHello ( ) ; echo ' Welt! ' ; } } Klasse MyHelloWorld erstreckt sich Base { verwenden SayWorld } $o = neu MyHelloWorld ( ) ; $o - > sayHello ( ) ;
Die obige Routine gibt Folgendes aus:
Hallo Welt!
Der Methodenname der Klasse (neu in PHP 5.0.0). Gibt den Namen der Methode zurück, wie er definiert wurde (Groß-/Kleinschreibung beachten).
Beispiel:
<?php Funktion prüfen ( ) { Echo ' Funktionsname : ' .__ METHOD__ ; test ( ) ; ?>
Das Ausgabeergebnis des obigen Beispiels ist:
Funktionsname: test
Der Name des aktuellen Namespace (Groß-/Kleinschreibung beachten). Diese Konstante wird zur Kompilierzeit definiert (neu in PHP 5.3.0).
Beispiel:
<?php Namensraum MeinProjekt ; echo ' Der Namespace ist: " ' , __NAMESPACE__ , ' " ' // Ausgabe „MyProject“ ?>
Das Ausgabeergebnis des obigen Beispiels ist:
Der Namespace ist: „MyProject“