PHP-Superglobals und die $_GLOBALS-Variable verstehen
PHP ist eine beliebte serverseitige Skriptsprache, die in der Webentwicklung eingesetzt wird. Sie bietet eine Reihe von Superglobals, das sind integrierte Variablen, die in allen Gültigkeitsbereichen eines PHP-Skripts immer verfügbar sind. Eine dieser Superglobals ist die Variable $GLOBALS, die eine Referenz auf alle in einem PHP-Skript definierten globalen Variablen enthält.
In diesem Artikel werden wir uns tiefer mit der Variable $GLOBALS und ihren Anwendungen in der PHP-Programmierung befassen.
Was sind PHP-Superglobals?
Superglobals in PHP sind spezielle Variablen, die in allen Gültigkeitsbereichen eines PHP-Skripts verfügbar sind. Das bedeutet, dass sie von jeder Funktion, Klasse oder Datei aus zugänglich sind, ohne dass sie als globale Variablen deklariert werden müssen.
Folgende Superglobals stehen in PHP zur Verfügung:
$_GET: enthält Daten, die über die URL-Abfragezeichenfolge an das Skript übergeben werden.$_POST: enthält Daten, die über eine Formularübermittlung an das Skript gesendet werden.$_COOKIE: enthält Daten, die über Cookies an das Skript übergeben werden.$_SESSION: enthält Daten, die in der Sitzung eines Benutzers gespeichert sind.$_REQUEST: enthält Daten, die über die URL-Abfragezeichenfolge, eine Formularübermittlung oder Cookies an das Skript übergeben werden.$_SERVER: enthält Informationen über den Server und die Umgebung.$_ENV: enthält Informationen über die Umgebung.$GLOBALS: enthält eine Referenz auf alle in einem PHP-Skript definierten globalen Variablen.
Was ist die Variable $GLOBALS in PHP?
Die Variable $GLOBALS ist eine Superglobal, die eine Referenz auf alle in einem PHP-Skript definierten globalen Variablen enthält. Das bedeutet, dass Sie mit der Variable $GLOBALS auf jede globale Variable von überall in Ihrem Skript aus zugreifen können.
Hier ist ein Beispiel dafür, wie die Variable $GLOBALS verwendet werden kann, um auf eine globale Variable zuzugreifen:
PHP-Beispiel: So kann die Variable $GLOBALS verwendet werden, um auf eine globale Variable zuzugreifen
<?php
$x = 10;
$y = 20;
function add() {
global $x, $y;
return $x + $y;
}
echo add(); // 30
echo $GLOBALS['x']; // 10
echo $GLOBALS['y']; // 20
?>In diesem Beispiel verwendet die Funktion add() das Schlüsselwort global, um auf die Variablen $x und $y zuzugreifen. Anstatt das Schlüsselwort global zu verwenden, können Sie auf diese Variablen jedoch auch über die Variable $GLOBALS zugreifen.
So verwenden Sie die Variable $GLOBALS in PHP
Die Variable $GLOBALS ist ein leistungsstarkes Werkzeug in der PHP-Programmierung, das verwendet werden kann, um auf globale Variablen von jedem Teil Ihres Skripts aus zuzugreifen. Hier sind einige Möglichkeiten, die Variable $GLOBALS zu verwenden:
Zugreifen auf globale Variablen
Wie wir im vorherigen Beispiel gesehen haben, können Sie die Variable $GLOBALS verwenden, um auf jede in Ihrem Skript definierte globale Variable zuzugreifen. Hier ist ein weiteres Beispiel:
PHP: Zugriff auf jede in Ihrem Skript definierte globale Variable
<?php
$name = "John Doe";
function greeting() {
global $name;
echo "Hello, " . $name;
}
greeting(); // Hello, John Doe
echo $GLOBALS['name']; // John Doe
?>Ändern globaler Variablen
Die Variable $GLOBALS kann auch verwendet werden, um globale Variablen zu ändern. Dies kann nützlich sein, wenn Sie Änderungen an einer globalen Variable innerhalb einer Funktion oder Klasse vornehmen müssen.
Hier ist ein Beispiel:
PHP: Globale Variablen ändern
<?php
$counter = 0;
function increment() {
global $counter;
$counter++;
}
increment();
echo $counter; // 1
echo "\n";
$GLOBALS['counter'] = 10;
echo $counter; // 10
?>In diesem Beispiel erhöht die Funktion increment() den Wert der Variable $counter. Sie können den Wert der Variable $counter jedoch auch direkt über die Variable $GLOBALS ändern.
Variablen zwischen Funktionen und Klassen übergeben
Die Variable $GLOBALS kann auch verwendet werden, um Variablen zwischen Funktionen und Klassen zu übergeben. Dies kann nützlich sein, wenn Sie Daten zwischen verschiedenen Teilen Ihres Skripts austauschen müssen.
Hier ist ein Beispiel:
PHP: Übergeben globaler Variablen zwischen Funktionen und Klassen
<?php
$data = array("name" => "John Doe", "age" => 30);
function display_data() {
global $data;
print_r($data);
}
class User {
function show_data() {
global $data;
print_r($data);
}
}
display_data(); // Array ( [name] => John Doe [age] => 30 )
$user = new User();
$user->show_data(); // Array ( [name] => John Doe [age] => 30 )
$GLOBALS['data']['email'] = "[email protected]";
display_data(); // Array ( [name] => John Doe [age] => 30 [email] => [email protected] )
$user->show_data(); // Array ( [name] => John Doe [age] => 30 [email] => [email protected] )
?>In diesem Beispiel greifen sowohl die Funktion display_data() als auch die Klasse User über die Variable $GLOBALS auf die Variable $data zu. Dies ermöglicht es Ihnen, die Variable $data zwischen den verschiedenen Teilen Ihres Skripts zu übergeben.
Fazit
Die Variable $GLOBALS ist ein leistungsstarkes Werkzeug in der PHP-Programmierung, das den Zugriff auf alle in einem PHP-Skript definierten globalen Variablen ermöglicht. Egal, ob Sie Variablen zugreifen, ändern oder zwischen Funktionen und Klassen übergeben – die Variable $GLOBALS ist ein vielseitiges Werkzeug, das Ihnen dabei helfen kann, besseren PHP-Code zu schreiben.
Hinweis zu Best Practices: Obwohl $GLOBALS nützlich ist, wird in der modernen PHP-Entwicklung im Allgemeinen davon abgeraten, sich stark auf globale Variablen zu verlassen. Erwägen Sie die Verwendung von Dependency Injection, Klassen oder das Übergeben von Variablen als Funktionsargumente, um die Wartbarkeit, Kapselung und Testbarkeit zu verbessern.
Practice
Welche Arten von Variablen sind in PHP im globalen Bereich verfügbar?