PHP fournit la fonction get_defined_constants () , qui peut renvoyer toutes les constantes définies dans le script actuel. La fonction renvoie un tableau associatif où la clé est le nom de la constante et la valeur est la valeur de la constante. Par exemple:
$constants = get_defined_constants();
print_r($constants);
Ce code sortira toutes les constantes définies et leurs valeurs. Supposons que nous ayons deux versions de la liste de définition constante: l'une est l'ancienne version de la définition constante et l'autre est la nouvelle version de la définition constante.
Supposons que nous ayons deux tableaux constants, l'un est l'ancienne version de la constante et l'autre est la nouvelle version de la constante. Nous pouvons trouver les nouvelles constantes ajoutées dans la nouvelle version via la fonction array_diff_key () . La fonction array_diff_key () peut comparer les clés (c'est-à-dire les noms constants) de deux tableaux, renvoyant des paires de valeurs clés qui sont dans le premier tableau mais pas dans le deuxième tableau.
// Ancienne version des constantes
$old_constants = get_defined_constants();
// Simuler la nouvelle version des constantes
define('NEW_CONSTANT', 'New Value');
define('ANOTHER_NEW_CONSTANT', 'Another New Value');
$new_constants = get_defined_constants();
// utiliser array_diff_key Trouver de nouvelles constantes
$new_added_constants = array_diff_key($new_constants, $old_constants);
// Sortir de nouvelles constantes
print_r($new_added_constants);
Dans cet exemple, utilisez d'abord get_defined_constants () pour obtenir toutes les constantes définies dans le script actuel. Ensuite, simulez à nouveau une nouvelle version de la définition constante et appelez get_defined_constants () pour obtenir la nouvelle liste constante. Comparez le tableau des constantes nouvelles et anciennes via la fonction array_diff_key () pour trouver les constantes nouvellement ajoutées.
array_diff_key () compare les clés des deux tableaux, renvoyant la partie de la clé (nom constant) dans le nouveau tableau qui n'existe pas dans l'ancien tableau. En fin de compte, nous pouvons découvrir les constantes nouvellement ajoutées.
Cette approche est très utile pour comparer différentes versions de constantes dans de grands projets. En particulier dans un environnement de développement de collaboration multi-personnes, le suivi des constantes nouvellement ajoutées peut aider les développeurs à comprendre rapidement le contenu mis à jour du projet et à éviter les erreurs causées par des conflits de nom constants ou des omissions.
get_defined_constants () ne renvoiera que les constantes définies dans le script actuel, donc lorsque vous utilisez cette méthode, assurez-vous que la liste des constantes que vous obtenez est à jour.
array_diff_key () compare uniquement les noms de clés du tableau. Si la valeur des changements constante mais que les noms de clés ne changent pas, cette méthode ne peut pas détecter.
Si vous devez afficher la valeur d'une constante spécifique, get_defined_constants () renvoie un tableau contenant le nom constant et la valeur constante, et sa valeur est accessible directement via le nom constant.
De cette façon, vous pouvez facilement trouver les constantes ajoutées dans la nouvelle version, en vous assurant que le code est mis à jour et maintenu plus efficacement.