Dans PHP, get_defined_constants () est une fonction très pratique qui peut être utilisée pour obtenir toutes les constantes définies dans le script actuel. Cette fonction est particulièrement utile lorsque nous débogues ou voulons comprendre l'état des constantes dans l'environnement de course.
Cette fonction peut accepter un paramètre booléen: catégorie . Lorsque vous appelez get_defined_constants (true) et get_defined_constants (false) , le résultat de retour est différent. Comprendre leurs différences nous aidera à mieux utiliser cette fonction pour le débogage ou l'analyse.
Lorsque vous appelez get_defined_constants (false) (ou appelez directement sans passer paramètres), le retour est un tableau unidimensionnel, le nom de clé est le nom de la constante et la valeur de clé est la valeur correspondante. Par exemple:
print_r(get_defined_constants(false));
Sortie possible:
Array
(
[E_ERROR] => 1
[E_WARNING] => 2
[E_PARSE] => 4
...
)
Ce sont toutes des constantes actuellement définies, non regroupées, et la sortie directement avec le nom constant comme nom de clé. Ce modèle est plus intuitif et concis, et convient à une vision rapide dont les constantes existent et leurs valeurs.
Lorsque vous appelez get_defined_constants (true) , le tableau à deux dimensions retourné est, c'est-à-dire que ces constantes seront classées et regroupées par "module". Les groupes communs incluent le noyau , le PCRE , la date , l'utilisateur , etc. Ce modèle convient plus aux scénarios où les constantes doivent être gérées de manière classifiée.
Par exemple:
print_r(get_defined_constants(true));
La sortie peut être similaire:
Array
(
[Core] => Array
(
[E_ERROR] => 1
[E_WARNING] => 2
...
)
[pcre] => Array
(
[PREG_PATTERN_ORDER] => 1
...
)
[user] => Array
(
[MY_CONSTANT] => 123
)
)
Cette structure permet une compréhension plus claire de la source des constantes, qui sont utiles pour l'analyse définie par PHP Core, qui sont fournies par des extensions, et qui sont définies par l'utilisateur.
Comment utiliser | Retour à la structure | Convient pour une utilisation |
---|---|---|
get_defined_constants (false) | Réseau unidimensionnel | Débogage simple, traversée rapide |
get_defined_constants (true) | Tableau bidimensionnel (catégorie) | Analyse approfondie pour distinguer les sources |
Si vous souhaitez simplement obtenir des constantes définies par l'utilisateur (définitions de noyau ou d'extension non php), l'utilisation de get_defined_constants (true) ['utilisateur'] est une manière très concise:
define('SITE_NAME', 'MySite');
define('SITE_URL', 'https://m66.net');
$userConstants = get_defined_constants(true)['user'];
print_r($userConstants);
Résultat de sortie:
Array
(
[SITE_NAME] => MySite
[SITE_URL] => https://m66.net
)
Ceci est particulièrement utile dans les grands projets et peut vous aider à vérifier rapidement si toutes les constantes personnalisées attendues sont définies.
get_defined_constants () est l'une des fonctions d'outils très précieuses dans PHP. Lorsque vous avez besoin d'une liste de carreaux de constantes, utilisez des paramètres faux ou ne pas passer; Lorsque vous avez besoin d'une classification plus détaillée des sources constantes, l'utilisation de True est un meilleur choix. La maîtrise de la différence entre ces deux usages vous permet d'utiliser des informations constantes plus efficacement dans le développement et le débogage.