Start · Sprachen · PHP · Referenz · runkit7_superglobals

runkit7_superglobals

Funktion

Gibt ein numerisch indiziertes Array mit den Namen aller registrierten PHP-Superglobalen zurück.

Kategorie: misc

Signatur

runkit7_superglobals(): array

Beschreibung

runkit7_superglobals() ist Teil der Runkit7-Erweiterung und liefert eine Liste aller aktuell in PHP registrierten Superglobalen. Die Rückgabe ist ein numerisch indiziertes Array, dessen Einträge die Namen der Superglobalen als Zeichenketten enthalten (z. B. $_GET, $_POST, $_SERVER usw.).

Die Funktion ist nützlich, wenn man zur Laufzeit prüfen möchte, welche Superglobalen verfügbar sind – beispielsweise in Test-Frameworks, Debugging-Werkzeugen oder wenn eigene Superglobale über runkit7_superglobal_add() registriert wurden und deren Vorhandensein verifiziert werden soll.

Da die Runkit7-Erweiterung es erlaubt, eigene Superglobale zu registrieren oder bestehende zu manipulieren, ermöglicht runkit7_superglobals() eine dynamische Inspektion des aktuellen Zustands der globalen Variablen-Umgebung. Dies ist vor allem in Umgebungen relevant, in denen PHP-Code zur Laufzeit modifiziert oder erweitert wird.

Hinweis: Die Runkit7-Erweiterung ist nicht Bestandteil der PHP-Standardinstallation und muss separat installiert werden. Sie ist primär für Entwicklungs- und Testzwecke gedacht und sollte in Produktionsumgebungen mit Bedacht eingesetzt werden.

Rückgabewert

Typ
array
Beschreibung
Ein numerisch indiziertes Array mit den Namen aller registrierten Superglobalen als Zeichenketten, z. B. ['_GET', '_POST', '_COOKIE', '_SERVER', ...]. Die genaue Anzahl und Reihenfolge der Einträge hängt von der PHP-Konfiguration und etwaig hinzugefügten benutzerdefinierten Superglobalen ab.

Beispiele

Alle registrierten Superglobalen ausgeben

<?php
// Voraussetzung: runkit7-Erweiterung muss installiert sein
if (function_exists('runkit7_superglobals')) {
    $superglobals = runkit7_superglobals();
    echo "Registrierte Superglobale:" . PHP_EOL;
    foreach ($superglobals as $index => $name) {
        echo $index . ': $' . $name . PHP_EOL;
    }
} else {
    echo "runkit7-Erweiterung ist nicht verfügbar." . PHP_EOL;
}
Registrierte Superglobale: 0: $GLOBALS 1: $_SERVER 2: $_GET 3: $_POST 4: $_FILES 5: $_COOKIE 6: $_SESSION 7: $_REQUEST 8: $_ENV

Prüfen ob eine benutzerdefinierte Superglobale registriert ist

<?php
// Eigene Superglobale hinzufügen (sofern runkit7 verfügbar)
if (function_exists('runkit7_superglobal_add') && function_exists('runkit7_superglobals')) {
    runkit7_superglobal_add('MY_APP_GLOBALS');

    $superglobals = runkit7_superglobals();

    if (in_array('MY_APP_GLOBALS', $superglobals)) {
        echo "MY_APP_GLOBALS ist als Superglobale registriert." . PHP_EOL;
    } else {
        echo "MY_APP_GLOBALS wurde nicht gefunden." . PHP_EOL;
    }
}
MY_APP_GLOBALS ist als Superglobale registriert.

// Wichtig · Fallstricke

Sicherheitshinweis: Die Runkit7-Erweiterung ermöglicht weitreichende Eingriffe in die PHP-Laufzeitumgebung. Das Hinzufügen benutzerdefinierter Superglobaler oder das Manipulieren bestehender kann unvorhergesehene Seiteneffekte verursachen und die Anwendungssicherheit gefährden. Der Einsatz sollte auf Entwicklungs- und Testumgebungen beschränkt bleiben.

Die Erweiterung heißt runkit7 (mit der Zahl 7), da sie eine Weiterentwicklung der ursprünglichen runkit-Erweiterung ist, die mit PHP 7+ kompatibel gemacht wurde. Sie ist über PECL oder GitHub verfügbar.

Das zurückgegebene Array enthält die Variablennamen ohne führendes Dollarzeichen ($).