PHP 8.1.0 RC 4 available for testing

Magische Konstanten

Es gibt neun magische Konstanten, die, abhängig davon, wo sie eingesetzt werden, einen unterschiedlichen Wert haben. Zum Beispiel hängt der Wert der Konstanten __LINE__ davon ab, in welcher Zeile des Skripts diese Konstante verwendet wird. Alle diese "magischen" Konstanten werden während der Kompilierzeit aufgelöst, im Gegensatz zu regulären Konstanten, die während der Laufzeit aufgelöst werden. Diese besonderen Konstanten sind unabhängig von Groß-/Kleinschreibung und sind folgende:

PHP's magische Konstanten
Name Beschreibung
__LINE__ Die aktuelle Zeilennummer einer Datei.
__FILE__ Der vollständige Pfad- und Dateiname einer Datei mit aufgelösten Symlinks. Wird diese Konstante innerhalb einer nachgeladenen Datei verwendet, wird der Name dieser eingebundenen Datei zurückgegeben.
__DIR__ Der Name des Verzeichnisses, in dem sich die Datei befindet. Wird die Konstante innerhalb eines Includes verwendet, wird das Verzeichnis der eingebundenen Datei zurückgegeben. Dies entspricht dem Verhalten von dirname(__FILE__). Der Verzeichnisname hat keinen beendenden Schrägstrich, sofern es sich nicht um das Rootverzeichnis handelt.
__FUNCTION__ Der Name der Funktion, oder {closure} für anonyme Funktionen.
__CLASS__ Der Name einer Klasse. Der Klassenname enthält den Namen des Namensraums, in dem sie deklariert wurde (z. B. Foo\Bar). Bei Verwendung in einer Trait-Methode, ist __CLASS__ der Name der Klasse, in der der Trait verwendet wird.
__TRAIT__ Der Name eines Traits. Dieser enthält auch den Namensraum, in welchem der Trait definiert wurde (z. B. Foo\Bar).
__METHOD__ Der Name der Klassenmethode.
__NAMESPACE__ Der Name des aktuellen Namensraums.
ClassName::class Der vollständig qualifizierte Klassenname.

add a note add a note

User Contributed Notes 1 note

up
0
sham dot hrm at gmail dot com
7 months ago
You can implement magic constants as given below example:

<?php
namespace UserModel {
    class
User {
        public function
__construct() {
            echo
'I am in '.__CLASS__.'</br>';
        }
        public function
showData() {
            echo
'I am in '.__METHOD__.'</br>';
        }
    }
   
   
$obj = new User;
   
$obj->showData();
    echo
__NAMESPACE__;
}
?>
To Top