In PHP ist Get_DEFINED_CONSTANTS () eine sehr praktische Funktion, mit der alle definierten Konstanten im aktuellen Skript abgerufen werden können. Diese Funktion ist besonders nützlich, wenn wir den Zustand der Konstanten in der laufenden Umgebung debuggen oder verstehen möchten.
Diese Funktion kann einen booleschen Parameter: Kategorie akzeptieren. Wenn Sie Get_Defined_Constants (True) und get_defined_constants (Falsch) nennen, ist das Rückgabeergebnis unterschiedlich. Das Verständnis ihrer Unterschiede hilft uns, diese Funktion besser zum Debuggen oder Analysen zu nutzen.
Wenn Sie Get_Defined_Constants (falsch) aufrufen (oder direkt ohne Parameter aufrufen), ist die Rückgabe ein eindimensionales Array, der Schlüsselname ist der Name der Konstante und der Schlüsselwert ist der entsprechende Wert. Zum Beispiel:
print_r(get_defined_constants(false));
Mögliche Ausgabe:
Array
(
[E_ERROR] => 1
[E_WARNING] => 2
[E_PARSE] => 4
...
)
Dies sind alles derzeit definierte Konstanten, die nicht gruppiert sind und direkt mit dem konstanten Namen als Schlüsselname ausgegeben werden. Dieses Muster ist intuitiver und prägnanter und ist geeignet für die schnelle Betrachtung, welche Konstanten existieren und ihre Werte.
Wenn Sie Get_Defined_Constants (True) aufrufen, wird das zurückgegebene zweidimensionale Array, dh diese Konstanten werden durch "Modul" klassifiziert und gruppiert. Zu den allgemeinen Gruppen gehören Kern , PCRE , Datum , Benutzer usw. Dieses Muster eignet sich besser für Szenarien, in denen Konstanten auf klassifizierte Weise verwaltet werden müssen.
Zum Beispiel:
print_r(get_defined_constants(true));
Die Ausgabe kann ähnlich sein:
Array
(
[Core] => Array
(
[E_ERROR] => 1
[E_WARNING] => 2
...
)
[pcre] => Array
(
[PREG_PATTERN_ORDER] => 1
...
)
[user] => Array
(
[MY_CONSTANT] => 123
)
)
Diese Struktur ermöglicht ein klareres Verständnis der Quelle von Konstanten, die für die Analyse hilfreich sind, die durch PHP-Kern definiert werden, die durch Erweiterungen bereitgestellt werden und die benutzerdefiniert sind.
Wie man benutzt | Kehren Sie zur Struktur zurück | Geeignet für den Gebrauch |
---|---|---|
get_defined_constants (false) | Eindimensionales Array | Einfaches Debugging, schnell |
get_defined_constants (true) | Zweidimensionales Array (Kategorie) | Eingehende Analyse zur Unterscheidung von Quellen |
Wenn Sie nur benutzerdefinierte Konstanten (Nicht-Php-Kern- oder Erweiterungsdefinitionen) erhalten möchten, ist mit Get_DEFINED_CONSTANTS (TRUE) ['Benutzer'] ein sehr prägnanter Weg:
define('SITE_NAME', 'MySite');
define('SITE_URL', 'https://m66.net');
$userConstants = get_defined_constants(true)['user'];
print_r($userConstants);
Ausgangsergebnis:
Array
(
[SITE_NAME] => MySite
[SITE_URL] => https://m66.net
)
Dies ist besonders in großen Projekten nützlich und kann Ihnen helfen, schnell zu überprüfen, ob alle erwarteten benutzerdefinierten Konstanten definiert sind.
get_defined_constants () ist eine der sehr wertvollen Werkzeugfunktionen in PHP. Wenn Sie eine Fliesenliste von Konstanten benötigen, verwenden Sie False oder nicht, um Parameter zu übergeben. Wenn Sie eine detailliertere Klassifizierung konstanter Quellen benötigen, ist die Verwendung von True eine bessere Wahl. Wenn Sie den Unterschied zwischen diesen beiden Verwendungen beherrschen, können Sie konstante Informationen bei der Entwicklung und Debuggierung effizienter verwenden.