Define () est une fonction utilisée en PHP pour définir les constantes. Sa syntaxe est très simple:
define('CONSTANT_NAME', 'value');
Cette fonction définit la valeur de la constante de constante à «valeur» et la valeur de la constante n'est pas modifiée une fois définie.
Cependant, si nous appelons accidentellement Define () plusieurs fois dans le code pour définir une constante avec le même nom, PHP rapportera une erreur:
Notice: Constant CONSTANT_NAME already defined
La fonction définie () est utilisée pour vérifier si une constante a été définie. Sa syntaxe est:
defined('CONSTANT_NAME');
Si la constante est déjà définie, défini () renvoie vrai , sinon faux .
Pour éviter les erreurs causées par la définition de constantes à plusieurs reprises, nous pouvons utiliser Define () et défini () en combinaison. La méthode spécifique est: avant de définir la constante, utilisez défini () pour vérifier si la constante existe déjà. Si la constante n'est pas définie, Define () est utilisée pour la définir.
<?php
if (!defined('MY_CONSTANT')) {
define('MY_CONSTANT', 'SomeValue');
}
echo MY_CONSTANT; // Sortir: SomeValue
?>
Dans le code ci-dessus, défini («my_constant») déterminera d'abord si My_Constant est défini. S'il n'y a pas de définition, exécutez Define () pour définir la constante.
Cette méthode est très pratique dans de nombreux cas, en particulier lorsque vous utilisez des bibliothèques ou des cadres externes, vous rencontrez souvent des problèmes de définition répétés des constantes. Par exemple, nous introduisons plusieurs fichiers dans un fichier PHP, et ces fichiers peuvent tous tenter de définir la même constante. Si chaque fichier ne vérifie pas si les constantes sont définies, cela peut entraîner des erreurs de définition en double lors de l'inclusion de ces fichiers.
En combinant défini () et définir () , nous pouvons nous assurer que la même constante ne sera définie qu'une seule fois, évitant ainsi les erreurs inutiles.
Supposons que nous ayons deux fichiers file1.php et file2.php , qui essaient tous deux de définir le même site constant_url constant. Si vous n'utilisez pas défini () pour vérifier si une constante est définie, une erreur se produira.