Heim > Backend-Entwicklung > PHP-Tutorial > Beschreibung der magischen Methode der PHP-Systemkonstante und Beispielzusammenfassung für die Verwendung magischer Variablen

Beschreibung der magischen Methode der PHP-Systemkonstante und Beispielzusammenfassung für die Verwendung magischer Variablen

伊谢尔伦
Freigeben: 2023-03-14 09:28:02
Original
1231 Leute haben es durchsucht

Systemkonstanten

FILE aktueller Dateiname
LINE aktuelle Zeilennummer
FUNCTION aktueller Funktionsname
CLASS aktueller Klassenname
METHOD Methode der aktuellen Objektname

Detaillierte Analyse

1. DATEI

Der vollständige Pfad und Dateiname der Datei. Bei Verwendung in einer Datei , die von eingebunden wird, 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.
PHP-Konstante dirname(file)
DATEI: bekannt als PHPmagische Konstante, gibt den vollständigen Pfad und Dateinamen des aktuell ausgeführten PHP-Skripts zurück, einschließlich eines absoluten Pfads

1) Die Funktion dirname(FILE) gibt den Pfad zurück, in dem sich das Skript befindet. Aktualisieren Sie das Netzwerk
Zum Beispiel enthält die Datei b.php den folgenden Inhalt:

<?php   
$basedir = dirname(FILE);   
echo $basedir  
//将在页面打印出一个这个文件所在绝对路径!  
?>
Nach dem Login kopieren

Dies entspricht der Verwendung von server.mappth in asp
Wenn b.php von verwendet wird a.php in anderen Verzeichnissen Datei erforderlich oder in Anführungszeichen einschließen. Der Inhalt der Variablen $basedir ist weiterhin der Pfad zu dem Ordner, in dem sich b.php befindet. Anstatt das Verzeichnis zu werden, in dem sich die a.php-Datei befindet.

2) dirname(FILE) gibt im Allgemeinen eine Verzeichnisstruktur vom aktuellen Verzeichnis, in dem sich die Datei befindet, zum Systemstammverzeichnis zurück.
Gibt nicht den aktuellen Dateinamen zurück. dirname(FILE) kann auch eins zurückgeben (aktuelles Verzeichnis) [Der Grund dafür ist, dass sich die b.php-Datei in http.conf oder dem Standard-WEB-Verzeichnis von PHP Configuration Development Environment

<?php
/**
在你的公用的配置文件中,来设置你的根目录,这样就不用担心经常搬家了。
*/
define(&#39;ROOT_PATH&#39;, dirname(FILE) . DIRECTORY_SEPARATOR);
echo ROOT_PATH;
echo "<br>";
echo FILE;
echo "<br>";
echo dirname(FILE);
echo "<br>";
echo dirname(dirname(FILE));
?>
Nach dem Login kopieren
befindet


2. ZEILE

Die aktuelle Zeilennummer in der Datei. Diese Variable ist beim Debuggen von Fehlern sehr nützlich.

<?php
echo LINE;  //显示,LINE所在的行号
?>
Nach dem Login kopieren


3. Der Name der Klasse, zurückgegeben von PHP5 Das Ergebnis unterscheidet zwischen Groß- und Kleinschreibung

Das Ergebnis ist:
<?php
class base_class
{
function say_a()
{
echo "&#39;a&#39; – said the " . CLASS . "<br/>";
}
function say_b()
{
echo "&#39;b&#39; – said the " . get_class($this) . "<br/>";
}
}
class derived_class extends base_class
{
function say_a()
{
parent::say_a();
echo "&#39;a&#39; – said the " . CLASS . "<br/>";
}
function say_b()
{
parent::say_b();
echo "&#39;b&#39; – said the " . get_class($this) . "<br/>";
}
}
$obj_b = new derived_class();
$obj_b->say_a();
echo "<br/>";
$obj_b->say_b();
?>
Nach dem Login kopieren

Manchmal können wir get_class anstelle von CLASS verwenden
&#39;a&#39; – said the base_class
&#39;a&#39; – said the derived_class
&#39;b&#39; – said the  derived_class
&#39;b&#39; – said the derived_class
Nach dem Login kopieren


4. FUNKTION und METHODE

FUNKTION: Funktionsname, das in PHP5 zurückgegebene Ergebnis unterscheidet zwischen Groß- und Kleinschreibung

METHODE: Funktionsname in der Methode, das in PHP5 zurückgegebene Ergebnis unterscheidet zwischen Groß- und Kleinschreibung von

sind die Namen von Methoden. Was ist der Unterschied?

Rückgabeergebnis:
<?php
class test
{
function a()
{
echo FUNCTION;
echo "<br>";
echo METHOD;
}
}
function good (){
echo FUNCTION;
echo "<br>";
echo METHOD;
}
$test = new test();
$test->a();
echo "<br>";
good();
?>
Nach dem Login kopieren


Im Vergleich zur isolierten Funktion können beide den Funktionsnamen herausnehmen, es gibt keinen Unterschied, wenn es sich um eine Methode in a handelt Klasse, FUNCTION kann nur den Methodennamen der Klasse extrahieren, während METHOD nicht nur den Methodennamen, sondern auch den Klassennamen extrahieren kann
a
test::a
good
good
Nach dem Login kopieren


DIR

wo sich die Datei befindet Inhaltsverzeichnis. 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)

Wenn Sie DIR in Versionen vor 5.3 verwenden möchten, können Sie dies tun


<?php
if(!defined(&#39;DIR&#39;)) {
$iPos = strrpos(FILE, "/");
define("DIR", substr(FILE, 0, $iPos) . "/");
}
?>
Nach dem Login kopieren
6. NAMESPACE

Der Name des aktuellen

Namespace

(Groß-/Kleinschreibung beachten). Diese Konstante wird zur Kompilierungszeit definiert (neu in PHP 5.3.0)

7. STATIC

Wenn Sie die statische Methode der Klasse aufrufen, geben Sie den Klassennamen zurück. Groß- und Kleinschreibung beachten. Beim Aufruf in der Vererbung kann der geerbte Klassenname zurückgegeben werden, unabhängig davon, ob er in der Vererbung definiert ist.

Das obige ist der detaillierte Inhalt vonBeschreibung der magischen Methode der PHP-Systemkonstante und Beispielzusammenfassung für die Verwendung magischer Variablen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.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