Heim > Backend-Entwicklung > PHP-Tutorial > Was sind magische Konstanten in PHP? Was sind die magischen Konstanten? (Zusammenfassen)

Was sind magische Konstanten in PHP? Was sind die magischen Konstanten? (Zusammenfassen)

青灯夜游
Freigeben: 2023-04-10 14:08:01
nach vorne
2756 Leute haben es durchsucht

Was sind magische Konstanten in PHP? Was sind die magischen Konstanten? (Zusammenfassen)

Wir haben bereits einige häufig verwendete magische Methoden kennengelernt. PHP bietet meiner Meinung nach auch einige magische Konstanten in der täglichen Arbeit.

Tatsächlich stellt PHP auch viele Konstanten bereit, aber alle basieren auf verschiedenen Erweiterungsbibliotheken. Einige Konstanten sind universell und liefern einige standortbezogene Informationen basierend auf dem Speicherort des Codes, an dem sie sich befinden * **.

Bei magischen Konstanten wird die Groß-/Kleinschreibung nicht beachtet, __LINE__ und __line__ sind gleich, aber für die technische Entwicklung sollten Konstanten so weit wie möglich in Großbuchstaben geschrieben werden.

__LINE__

Die aktuelle Zeilennummer in der Datei.

echo __LINE__ . PHP_EOL; // 3

function testLine()
{
    echo __LINE__ . PHP_EOL; // 7
}

class TestLineClass
{
    function testLine()
    {
        echo __LINE__ . PHP_EOL; // 14
    }
}

testLine();
$test = new TestLineClass();
$test->testLine();
Nach dem Login kopieren

__FILE__

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.

echo __FILE__ . PHP_EOL; // D:\phpproject\php\newblog\php-magic-constant.php
Nach dem Login kopieren

__DIR__

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) =

echo __DIR__ . PHP_EOL; // D:\phpproject\php\newblog
Nach dem Login kopieren

__FUNCTION__

Funktionsname (Neu in PHP 4.3.0). Seit PHP 5 gibt diese Konstante den Namen der Funktion zurück, wie er definiert wurde (Groß-/Kleinschreibung beachten). In PHP 4 ist dieser Wert immer kleingeschrieben.

echo __FUNCTION__ . PHP_EOL; // 啥都没输出
function testFunction()
{
    echo __FUNCTION__ . PHP_EOL; // testFunction
}

class TestFunctionClass
{
    function testFunction1()
    {
        echo __FUNCTION__ . PHP_EOL; // testFunction1
    }
}

testFunction();
$test = new TestFunctionClass();
$test->testFunction1();
Nach dem Login kopieren

__CLASS__

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.

echo __CLASS__ . PHP_EOL; // 什么也没有
function testClass()
{
    echo __CLASS__ . PHP_EOL; // 什么也没有
}

trait TestClassTrait
{
    function testClass2()
    {
        echo __CLASS__ . PHP_EOL; // TestClassClass
    }
}

class TestClassClass
{
    use TestClassTrait;

    function testClass1()
    {
        echo __CLASS__ . PHP_EOL; // TestClassClass
    }
}

testClass();
$test = new TestClassClass();
$test->testClass1();
$test->testClass2();
Nach dem Login kopieren

__TRAIT__

Name des Merkmals (neu in PHP 5.4.0). Seit PHP 5.4 gibt diese Konstante den Namen des Merkmals so zurück, wie es definiert wurde (Groß-/Kleinschreibung beachten). Der Merkmalsname enthält den Bereich, in dem er deklariert ist (z. B. FooBar).

echo __TRAIT__ . PHP_EOL; // 什么也没有
function testTrait()
{
    echo __TRAIT__ . PHP_EOL; // 什么也没有
}

trait TestTrait
{
    function testTrait2()
    {
        echo __TRAIT__ . PHP_EOL; // TestTrait
    }
}

class TestTraitClass
{
    use TestTrait;

    function testTrait1()
    {
        echo __TRAIT__ . PHP_EOL; // 什么也没有
    }
}

testTrait();
$test = new TestTraitClass();
$test->testTrait1();
$test->testTrait2();
Nach dem Login kopieren

__METHOD__

Der Methodenname der Klasse (neu hinzugefügt in PHP 5.0.0). Gibt den Namen der Methode so zurück, wie er definiert wurde (Groß-/Kleinschreibung beachten).

echo __METHOD__ . PHP_EOL; // 什么也没有
function testMethod()
{
    echo __METHOD__ . PHP_EOL; // testMethod
}

class TestMethodClass
{
    function testMethod1()
    {
        echo __METHOD__ . PHP_EOL; // TestMethodClass::testMethod1
    }
}

testMethod();
$test = new TestMethodClass();
$test->testMethod1();
Nach dem Login kopieren

__NAMESPACE__

Der Name des aktuellen Namespace (Groß-/Kleinschreibung beachten). Diese Konstante wird zur Kompilierungszeit definiert (neu in PHP 5.3.0).

echo __NAMESPACE__ . PHP_EOL; // test\magic\constant
class TestNameSpaceClass
{
    function testNamespace()
    {
        echo __NAMESPACE__ . PHP_EOL; // test\magic\constant
    }
}

$test = new TestNameSpaceClass();
$test->testNamespace();
Nach dem Login kopieren

Vollständiger Code: https://github.com/zhangyue0503/php/blob/master/newblog/php-magic-constant.php

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas sind magische Konstanten in PHP? Was sind die magischen Konstanten? (Zusammenfassen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:juejin.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage