Position actuelle: Accueil> Derniers articles> Localisez rapidement les constantes personnalisées à l'aide de get_defined_constants (true) ['utilisateur']

Localisez rapidement les constantes personnalisées à l'aide de get_defined_constants (true) ['utilisateur']

M66 2025-05-26

Dans PHP, une constante est un identifiant qui n'est pas modifiable pendant l'exécution du script. Habituellement, nous définissons les constantes via le mot-clé Define () ou Const . Mais parfois, pendant le développement ou le débogage, nous devons voir quelles constantes sont définies dans le script ou l'application actuel. À ce stade, la fonction intégrée PHP get_defined_constants () est utile.

Cette fonction peut être utilisée de deux manières:

  • get_defined_constants () : Renvoie un tableau associatif contenant toutes les constantes définies.

  • get_defined_constants (true) : renvoie un tableau multidimensionnel, le regroupement des constantes par leur source, tels que interne , utilisateur (défini par l'utilisateur), etc.

Cet article se concentrera sur get_defined_constants (true) [«utilisateur»] , c'est-à-dire afficher toutes les constantes définies par l'utilisateur .

Exemple: obtenir des constantes définies par l'utilisateur

 <?php

define('SITE_NAME', 'Exemple de site Web');
define('BASE_URL', 'https://m66.net');

$user_constants = get_defined_constants(true)['user'];

echo '<pre>';
print_r($user_constants);
echo '</pre>';

Après avoir exécuté le code ci-dessus, la sortie est similaire à ce qui suit:

 Array
(
    [SITE_NAME] => Exemple de site Web
    [BASE_URL] => https://m66.net
)

Nous pouvons voir que seules les constantes que nous déclarons explicitement via Define () apparaîtront dans le groupe d'utilisateurs . Les constantes définies par défaut au sein de PHP (telles que E_ALL , PHP_VERSION , etc.) ne seront pas incluses.

Scénarios de but

1. Débogage des constantes d'utilisateur

Dans les grands projets, des définitions constantes peuvent être distribuées sur plusieurs fichiers. Utilisez get_defined_constants (true) [«utilisateur»] pour énumérer rapidement toutes les constantes personnalisées dans l'environnement actuel, aidant les développeurs à confirmer si une constante a été définie à plusieurs reprises, écrasée ou mal orthographiée.

2. Construisez un outil d'exportation constant

Dans certains systèmes de gestion de la configuration, nous pouvons vouloir exporter toutes les constantes personnalisées vers JSON ou enregistrer dans d'autres formats. Avec json_encode () , cette fonction est facile à implémenter.

 <?php

define('API_URL', 'https://m66.net/api');
define('VERSION', '1.0.0');

$user_constants = get_defined_constants(true)['user'];

header('Content-Type: application/json');
echo json_encode($user_constants, JSON_PRETTY_PRINT);

Sortir:

 {
    "API_URL": "https://m66.net/api",
    "VERSION": "1.0.0"
}

3. Intégrer avec des frameworks ou des plug-ins

Dans certains plugins ou cadres personnalisés, nous pouvons vouloir que le plugin reconnaisse automatiquement la configuration constante de l'environnement actuel lors de l'enregistrement. Grâce à cette fonction, toutes les constantes définies peuvent être obtenues sans vérification d'intrusion et de traitement de la logique métier ou de compatibilité.

Choses à noter

  • Seules les constantes déclarées explicitement via Define () ou const seront classées comme utilisateur .

  • Si une bibliothèque tierce est utilisée, les constantes définies à l'initialisation seront également considérées comme des constantes d'utilisateur.

  • Il n'est pas recommandé d'appeler fréquemment cette fonction dans des environnements de production pour produire les résultats, en particulier pour exposer son contenu à l'utilisateur, car il peut contenir des informations de configuration sensibles.

résumé

get_defined_constants (true) ['utilisateur'] est une aide de débogage et de configuration très pratique. Il fournit une interface simple et intuitive dans les scénarios où les constantes personnalisées actuelles doivent être examinées. Qu'il s'agisse de sortir des journaux, de générer des instantanés de configuration ou d'effectuer des vérifications de compatibilité, c'est un outil puissant qui vaut la maîtrise.