Position actuelle: Accueil> Derniers articles> La meilleure façon de formater toutes les valeurs constantes

La meilleure façon de formater toutes les valeurs constantes

M66 2025-05-18

En PHP, une constante est un identifiant qui ne sera pas modifié et est généralement utilisé pour maintenir des valeurs qui restent inchangées pendant l'exécution du programme. À des fins de débogage ou d'apprentissage, nous devons parfois voir toutes les constantes définies dans le script actuel. Heureusement, PHP fournit une fonction intégrée get_defined_constants () qui peut obtenir des informations sur toutes les constantes disponibles à la fois.

Cet article présentera comment utiliser la fonction get_defined_constants () et expliquer comment produire des valeurs constantes dans un format clair et organisé pour améliorer la lisibilité et la praticité.

1. Fonction Introduction

get_defined_constants ([bool $ categorize = false]): array

Cette fonction renvoie un tableau contenant tous les noms constants définis et leurs valeurs correspondantes.

  • Si aucun argument n'est passé (ou faux), un tableau plat est renvoyé avec le nom constant comme clé et la valeur est la valeur constante.

  • Si le vrai est passé, le tableau 2D renvoyé sera classé en fonction du "module" de la constante, comme le noyau , le pcre , l'utilisateur , etc.

2. Sortir toutes les constantes

Voici un exemple simple montrant comment obtenir toutes les constantes et les imprimer sous une forme tabulaire:

 <?php
$constants = get_defined_constants(true);

// Uniquement les constantes définies par l&#39;utilisateur
$userConstants = $constants['user'];

echo "<table border='1' cellpadding='5' cellspacing='0'>";
echo "<thead><tr><th>Nom constant</th><th>Valeur constante</th></tr></thead><tbody>";

foreach ($userConstants as $name => $value) {
    echo "<tr><td>{$name}</td><td>" . htmlspecialchars(print_r($value, true)) . "</td></tr>";
}

echo "</tbody></table>";
?>

Dans cet exemple, nous extraissons uniquement les constantes dans la catégorie utilisateur , c'est-à-dire les constantes définies manuellement par le programmeur dans le script via les mots clés Define () ou Const . Le contenu de sortie est une table HTML standard pour une visualisation facile sur les pages Web.

3. Format toutes les constantes de classification

Si vous souhaitez afficher les constantes dans toutes les catégories et afficher les résultats en groupes, vous pouvez utiliser le code suivant:

 <?php
$constants = get_defined_constants(true);

foreach ($constants as $category => $constGroup) {
    echo "<h2>Classification:{$category}</h2>";
    echo "<table border='1' cellpadding='5' cellspacing='0'>";
    echo "<thead><tr><th>Nom constant</th><th>Valeur constante</th></tr></thead><tbody>";

    foreach ($constGroup as $name => $value) {
        echo "<tr><td>{$name}</td><td>" . htmlspecialchars(print_r($value, true)) . "</td></tr>";
    }

    echo "</tbody></table><br>";
}
?>

De cette façon, chaque catégorie constante est affichée séparément, telles que Core, PCRE, User, Curl et d'autres modules, qui est très adapté à une compréhension approfondie de ce que sont les constantes prédéfinies dans l'environnement de fonctionnement PHP.

4. Exporter des informations constantes vers JSON

Si vous souhaitez exporter des constantes sous forme lisible par machine pour une utilisation facile dans d'autres systèmes tels que les systèmes JavaScript ou Logging, vous pouvez les convertir en JSON:

 <?php
header('Content-Type: application/json');
echo json_encode(get_defined_constants(true), JSON_PRETTY_PRINT);
?>

De cette façon, la structure du contenu de sortie est claire et adaptée au débogage à distance ou à l'intégration du système.

5. Combiné avec une sortie d'URL sur le serveur de journaux distants

En supposant que vous souhaitez envoyer des valeurs constantes définies par l'utilisateur à un serveur distant pour la journalisation (par exemple http://m66.net/log.php), vous pouvez le faire:

 <?php
$userConstants = get_defined_constants(true)['user'];
$data = json_encode($userConstants);

// Envoyer au serveur distant
$url = "http://m66.net/log.php";
$options = [
    'http' => [
        'method'  => 'POST',
        'header'  => "Content-Type: application/json\r\n",
        'content' => $data,
    ],
];
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
?>

Cette méthode peut être utilisée pour les outils de débogage, le suivi de l'API ou le déploiement de scripts de vérification.

6. Résumé

get_defined_constants () est une fonction puissante qui nous aide non seulement à obtenir rapidement toutes les constantes définies par le système et l'utilisateur, mais les publie et les traite également dans divers formats. Qu'il s'agisse d'affichage Web, de journalisation ou d'appel distant, d'utilisation flexible en combinaison avec des scénarios réels peut considérablement améliorer notre efficacité de développement et notre observabilité du système.

La maîtrise de cette fonction équivaut à ouvrir une fenêtre dans le monde d'exécution PHP.