Explication de la différence
1. Const est une structure de langage, définir() est une fonction et la compilation const est plus rapide que définir().
2. Définir() déclare une constante. Le nom de la constante est de type chaîne, peut être épissé dynamiquement et peut être nommé avec une expression. Const ne peut utiliser que des noms de constantes ordinaires.
Les constantes définies par le mot-clé const sont sensibles à la casse et la fonction définir() peut déterminer si elle est sensible à la casse via le troisième paramètre.
Exemple
<?php // Constantes // Définition et utilisation des constantes // Méthode de définition 1 : fonction definition() definition("CON_INT", 100); écho CON_INT; // Définit que l'utilisation de cette constante ne respecte pas la casse. definition("GREETING", "hello world", true); // Pour ce type d'utilisation, le système rappellera que ce n'est pas recommandé echo GREETING; écho Salutation ; écho "<br/>" ; //Méthode de définition 2 : définition du mot clé const const FOO = 'BAR'; pour($i = 0; $i <32; ++$i){ définir('YDMA_'.$i, 1 + $i); } écho YDMA_16 ; // const ne peut pas définir de constantes dans les instructions conditionnelles/* si(vrai){ const FOO0 = 'BAR'; // invalide} si(vrai){ définir('FOO0', 'BAR'); // valide} */ // Récupère la valeur de la constante : constant() function echo "<br/>"; définir("VAR0", "888"); constante d'écho("VAR0"); écho "<br/>" ; const CONSTANT0 = 'test constant'; constante d'écho("CONSTANT0"); // Récupère une liste de toutes les constantes définies echo "<pre>"; print_r(get_defined_constants()); // Récupère toutes les constantes accessibles dans ce script et génère un tableau extra long
Ce qui précède est la différence entre les méthodes de définition des constantes en PHP. J'espère que cela sera utile à tout le monde.