63 votes

DEFINE vs Variable en PHP

Quelqu'un peut-il expliquer la différence entre l'utilisation

 define('SOMETHING', true);
 

et

 $SOMETHING = true;
 

Et peut-être les avantages entre l'un ou l'autre?

J'utilise des variables partout et même dans un fichier de type de configuration inclus dans everypage, j'utilise toujours des variables car je ne vois pas pourquoi utiliser la méthode define.

92voto

Tyler Carter Points 30030

DEFINE crée une constante et les constantes sont globales et peuvent être utilisées n'importe où. Ils ne peuvent pas non plus être redéfinis, quelles variables peuvent être.

J'utilise normalement DEFINE for Configs, car personne ne peut s'y intéresser après coup, et je peux le vérifier n'importe où sans passer par Global-Ling, ce qui facilite les vérifications.

13voto

karim79 Points 178055

Une fois définie, une "constante" ne peut pas être modifiée au moment de l'exécution, contrairement à une affectation de variable ordinaire.

Les constantes sont meilleures pour des choses comme les directives de configuration qui ne devraient pas être modifiées pendant l'exécution. De plus, le code est plus facile à lire (et à entretenir et à transférer) si les valeurs censées être constantes le sont explicitement .

8voto

Randy Greencorn Points 262

Il y a aussi une différence de portée.

Dans l'exemple donné par l'affiche originale, $ SOMETHING ne sera pas accessible dans une fonction alors que define ('SOMETHING', true) le sera.

7voto

user128026 Points 503

define () crée une variable en lecture seule, comparée à une variable standard qui supporte les opérations de lecture et d'écriture.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X