Das beste PHP-Variable Magie-Tutorial im Jahr 2024. In diesem Tutorial können Sie __LINE__,__FILE__,__DIR__,__FUNCTION__,__CLASS__,__TRAIT__,__METHOD__,__NAMESPACE__, lernen

PHP-Variable Magie

Jedes PHP-Skript auszuführen bietet eine Reihe von vordefinierten Konstanten.

Allerdings sind viele Konstanten von verschiedenen Erweiterungen definiert und nur dann geladen, wenn diese Erweiterungen erscheint, oder dynamisch geladen werden, oder wurde bei der Kompilierung in sie aufgenommen wurden.

Es gibt acht magische Konstanten und ihre Werte, wie sie Position im Code ändern geändert wird.

Zum Beispiel __LINE__ Wert, auf dem es auf die Zeile im Skript abhängig zu entscheiden. Diese besonderen Konstanten sind Groß- und Kleinschreibung, wie folgt:


__LINE__

Dateien in der aktuellen Zeilennummer.

Beispiel:

<?php
echo '这是第 “ '  . __LINE__ . ' ” 行';
?>

Das obige Beispiel Ausgabe lautet:

这是第 “ 2 ” 行

__FILE__

Der vollständige Pfad und Dateiname der Datei. Wenn in der eingebundenen Datei verwendet, dann wieder den Dateinamen enthalten sein.

Seit PHP 4.0.2 ab, __ FILE__ enthält immer einen absoluten Pfad (wenn es ein symbolischer Link ist, es ist ein absoluter Pfad analysiert), und in dieser früheren Version manchmal einen relativen Pfad enthalten.

Beispiel:

<?php
echo '该文件位于 “ '  . __FILE__ . ' ” ';
?>

Das obige Beispiel Ausgabe lautet:

该文件位于 “ E:\wamp\www\test\index.php ”

__DIR__

Katalogdatei befindet. Wenn in der Datei enthalten sind, wird das Verzeichnis enthalten in der Datei zurückgegeben.

Er entspricht dirname (__ FILE__). Es sei denn, es ist das Wurzelverzeichnis oder Verzeichnisnamen keinen Schrägstrich am Ende umfassen. (PHP 5.3.0 add)

Beispiel:

<?php
echo '该文件位于 “ '  . __DIR__ . ' ” ';
?>

Das obige Beispiel Ausgabe lautet:

该文件位于 “ E:\wamp\www\test ”

__FUNCTION__

Funktionsname (PHP 4.3.0 hinzugefügt). Seit PHP gibt diese Konstante den Namen der Funktion, da es 5 Fälle erklärt wurde (case-sensitive). In PHP 4 wird der Wert immer klein geschrieben.

Beispiel:

<?php
function test() {
	echo  '函数名为:' . __FUNCTION__ ;
}
test();
?>

Das obige Beispiel Ausgabe lautet:

函数名为:test

__CLASS__

Name der Klasse (PHP 4.3.0 hinzugefügt). Da PHP enthält diese Konstante ist der Klassenname als die Zeit von 5 (Groß-) definiert.

In PHP 4 wird der Wert immer klein geschrieben. Klassenname einschließlich der Rolle der Fläche, die (wie Foo \ Bar) deklariert wird. Hinweis von PHP 5.4 ab __CLASS__ Trait auch eine Rolle spielen. Wenn in Charakterzug Methoden verwendet wird, ist __ class__ Merkmal Methode, um den Namen der Klasse zu nennen.

Beispiel:

<?php
<?php
class test {
	function _print() {
		echo '类名为:'  . __CLASS__ . "<br>";
		echo  '函数名为:' . __FUNCTION__ ;
	}
}
$t = new test();
$t->_print();
?>

Das obige Beispiel Ausgabe lautet:

类名为:test
函数名为:_print

__TRAIT__

Trait Name (PHP 5.4.0 hinzugefügt). Ab PHP 5.4.0 implementiert PHP ein Verfahren zur Wiederverwendung von Code, genannt Züge.

Trait Name einschließlich der Rolle des Bereichs, der erklärt wird (wie Foo \ Bar).

Ist von der Basisklasse abgedeckt erbt Mitglieder SayWorld Trait in MyHelloWorld Verfahren eingesetzt. MyHelloWorld Verhalten konsistenten Ansatz in der Klasse definiert. Priorität ist die aktuelle Methode in einer Klasse überschreibt Merkmal Methode, Verfahren und Merkmal für die Basis-Klasse-Methode.

<?php
class Base {
    public function sayHello() {
        echo 'Hello ';
    }
}

trait SayWorld {
    public function sayHello() {
        parent::sayHello();
        echo 'World!';
    }
}

class MyHelloWorld extends Base {
    use SayWorld;
}

$o = new MyHelloWorld();
$o->sayHello();
?>

Das oben gezeigte Beispiel Ausgabe:

Hello World!

__METHOD__

Methoden für die Klassen (PHP 5.0.0 hinzugefügt). Diese Methode gibt den Namen, wie er erklärt wurde (case-sensitive).

Beispiel:

<?php
function test() {
	echo  '函数名为:' . __METHOD__ ;
}
test();
?>

Das obige Beispiel Ausgabe lautet:

函数名为:test

__NAMESPACE__

Der Name des aktuellen Namensraum (case-sensitive). Diese Konstante wird bei der Kompilierung definiert (PHP 5.3.0 hinzugefügt).

Beispiel:

<?php
namespace MyProject;

echo '命名空间为:"', __NAMESPACE__, '"'; // 输出 "MyProject"
?>

Das obige Beispiel Ausgabe lautet:

命名空间为:"MyProject"
PHP-Variable Magie
10/30