Heim > Artikel > Backend-Entwicklung > PHP vordefiniert: Vordefinierte Konstanten und superglobale Variablen verstehen
PHP ist eine dynamische Sprache und der von Entwicklern geschriebene Code führt die entsprechende Logik aus. Beim Ausführen von Code benötigen wir jedoch häufig Umgebungsvariablen oder Systemkonstanten, die uns bei der Erledigung einiger Aufgaben unterstützen. PHP bietet einige vordefinierte (oder integrierte) Variablen, die es Entwicklern ermöglichen, schnell einige wichtige Informationen abzurufen und zu verarbeiten. Diese Variablen werden in zwei Typen unterteilt: vordefinierte Konstanten und superglobale Variablen.
Vordefinierte Konstanten
Vordefinierte Konstanten haben in PHP eine besondere Definition: Sie werden definiert, bevor das PHP-Skript ausgeführt wird. Zu den häufig verwendeten vordefinierten Konstanten gehören:
LINE: stellt die Anzahl der Codezeilen dar.
DATEI: stellt den Pfad und Namen der Datei dar.
DIR: stellt den absoluten Pfad des Verzeichnisses dar, in dem sich die Datei befindet.
FUNCTION: repräsentiert den Funktionsnamen.
CLASS: repräsentiert den Klassennamen, einschließlich Namespace.
TRAIT: repräsentiert den Merkmalsnamen, einschließlich des Namespace.
METHOD: Stellt den Methodennamen der Klasse dar.
NAMESPACE: stellt den aktuellen Namespace-Namen dar.
Diese vordefinierten Konstanten sind lesbar, können aber nicht neu zugewiesen werden, zum Beispiel:
<?php echo __FILE__; // 输出当前文件的路径 echo __LINE__; // 输出当前代码的行数 ?>
Der Zweck vordefinierter Konstanten besteht darin, Entwicklern dabei zu helfen, Code schnell zu finden und zu debuggen. Sie können in Fehlerberichten oder zum Aufzeichnen des Codeausführungspfads verwendet werden Zeitstempel usw.
Super-Globale Variablen
Super-Globale Variablen sind Variablen, auf die überall im PHP-Skript zugegriffen werden kann, ohne sich Gedanken über den Umfang oder die Übergabe von Funktionsparametern machen zu müssen. Alle superglobalen Variablen sind Arrays globaler Variablen, die mit einem Unterstrich beginnen, und die Array-Namen sind in verschiedenen Versionen unterschiedlich. Es gibt die folgenden Arten von superglobalen Variablen:
$GLOBALS: ein globales Gültigkeitsbereich-Array, das alle Variablen enthält. Der Name der Variablen ist der Schlüssel des Arrays.
$_SERVER: Informationen zum Server und zur Ausführungsumgebung. Beispiel: $_SERVER['PHP_SELF'] gibt den Dateinamen des aktuell ausgeführten Skripts zurück.
$_GET: HTTP-GET-Variable.
$_POST: HTTP-POST-Variable.
$_FILES: HTTP-Datei-Upload-Variable.
$_REQUEST: HTTP-Request-Variable, die auch den Inhalt der Variablen $_GET, $_POST und $_COOKIE enthält.
$_SESSION: Sitzungsvariable.
$_COOKIE: HTTP-Cookies.
$_ENV: Umgebungsvariable.
$_SERVER Beispiel einer superglobalen Variablen:
<?php echo $_SERVER['PHP_SELF']; //显示当前执行脚本的文件名,即 index.php echo $_SERVER['SERVER_NAME']; // 显示当前运行脚本所在的服务器的主机名(本机 IP) echo $_SERVER['HTTP_REFERER']; // 获取网页的来源地址 (referer) echo $_SERVER['DOCUMENT_ROOT']; // 显示当前执行脚本的文档根目录(/var/www/) ?>
Der Vorteil superglobaler Variablen besteht darin, dass Sie diese Variablen nicht in jeder Funktion übergeben müssen, wenn Sie auf globale Variablen zugreifen müssen. Da auf diese Variablen jedoch überall in jedem Skript direkt zugegriffen werden kann, bringt dies auch einige Sicherheitsprobleme mit sich. Angreifer können einige Schwachstellen nutzen, um den Inhalt dieser globalen Variablen zu ändern, wodurch das System Ausnahmen generiert und die Gründe dafür debuggt und analysiert Ausnahmen werden auch schwieriger.
Fazit:
Vordefinierte Konstanten und superglobale Variablen sind einige der in PHP integrierten Variablen. Ihre Existenz macht die Entwicklung und das Debuggen von PHP-Programmierern bequemer und effizienter. Allerdings müssen Sie bei der Verwendung auch Sicherheitsaspekte und spezifische Implementierungsdetails berücksichtigen, um unerwartete Probleme zu vermeiden.
Das obige ist der detaillierte Inhalt vonPHP vordefiniert: Vordefinierte Konstanten und superglobale Variablen verstehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!