Position actuelle: Accueil> Derniers articles> Obtenez SPL, PDO et autres constantes liées aux modules

Obtenez SPL, PDO et autres constantes liées aux modules

M66 2025-05-22

Dans PHP, get_defined_constants est une fonction très utile qui renvoie toutes les constantes définies, y compris définies par l'utilisateur et définies en interne par PHP. Cette fonction peut accepter un paramètre booléen $ catégoriser . S'il est défini sur true , il classera les constantes en fonction du module d'extension, afin que nous puissions trouver des constantes liées à des modules spécifiques (tels que SPL, PDO, etc.).

Cet article présentera comment utiliser la fonction get_defined_constants (vrai) pour obtenir des constantes dans des modules d'extension tels que SPL et PDO, et démontrent leur utilisation en combinaison avec du code réel.

Utilisation de base

Tout d'abord, regardons l'utilisation de base de get_defined_constants :

 <?php
$constants = get_defined_constants(true);
print_r($constants);
?>

Lorsque le paramètre vrai est passé, le résultat renvoyé est un tableau multidimensionnel, la clé est le nom du module (tel que Core , SPL , PDO , etc.), et la valeur est le tableau associatif de toutes les constantes sous le module.

Obtenez des constantes de module SPL

SPL (bibliothèque PHP standard) est un module de PHP qui gère les structures de haut niveau telles que les collections d'objets et les itérateurs. Pour obtenir toutes les constantes de ce module, nous pouvons le faire:

 <?php
$constants = get_defined_constants(true);

if (isset($constants['SPL'])) {
    echo "SPL Les constantes du module sont les suivantes:\n";
    foreach ($constants['SPL'] as $name => $value) {
        echo "$name = $value\n";
    }
} else {
    echo "actuel PHP Environnement non activé SPL Module。\n";
}
?>

Ce script produit toutes les constantes SPL définies dans l'environnement PHP actuel, tel que:

 SPL_ITERATOR_SELF_FIRST = 0
SPL_ITERATOR_CHILD_FIRST = 1
...

Obtenez les constantes de module PDO

L'OPD est la couche d'abstraction d'accès aux données de PHP, et elle a également un ensemble de constantes définies dans des modules tels que PDO et PDO_MYSQL . Nous pouvons également extraire ces constantes:

 <?php
$constants = get_defined_constants(true);

if (isset($constants['pdo'])) {
    echo "PDO Les constantes du module sont les suivantes:\n";
    foreach ($constants['pdo'] as $name => $value) {
        echo "$name = $value\n";
    }
}

if (isset($constants['pdo_mysql'])) {
    echo "\nPDO MySQL Les constantes du module sont les suivantes:\n";
    foreach ($constants['pdo_mysql'] as $name => $value) {
        echo "$name = $value\n";
    }
}
?>

Ce code peut nous aider à comprendre ce que sont les constantes dans l'APD et les pilotes spécifiques (tels que MySQL), tels que:

 PDO::ATTR_ERRMODE = 3
PDO::ERRMODE_EXCEPTION = 2
...

Utilisations courantes: débogage et génération de documents

Un objectif important de get_defined_constants (true) est d'aider les développeurs à comprendre rapidement les constantes disponibles qu'un module fournit. Surtout lorsque vous utilisez des extensions de PHP moins familières (comme APC, Opcache, etc.), cette méthode peut directement répertorier toutes les constantes pertinentes sans rechercher la documentation.

Vous pouvez également produire ces résultats sous forme de tables HTML et les intégrer dans votre site Web, tels que:

 <?php
$constants = get_defined_constants(true);
$module = 'SPL'; // Peut également être remplacé 'pdo' 等其他Module

if (isset($constants[$module])) {
    echo "<table border='1'>";
    echo "<tr><th>Nom constant</th><th>valeur</th></tr>";
    foreach ($constants[$module] as $name => $value) {
        echo "<tr><td>$name</td><td>$value</td></tr>";
    }
    echo "</table>";
} else {
    echo "$module Module未启用或无常量。";
}
?>

Déployez ce code sur votre serveur, tel que:

 https://www.m66.net/show_constants.php

Vous pouvez afficher dynamiquement des informations constantes sur la page Web.

Conclusion

get_defined_constants (true) est un outil puissant et pratique qui convient particulièrement pour le débogage, l'apprentissage ou la génération de documents. À travers elle, vous pouvez rapidement obtenir toutes les constantes définies dans n'importe quel module PHP, facilitant considérablement le développement et la maintenance. Lorsque vous utilisez SPL, PDO ou d'autres modules, la maîtrise de la façon d'utiliser cette fonction vous donnera une compréhension plus complète des constantes de système PHP.