un define définit une constante.
Une constante est une "variable" non variable : elle ne bouge pas.
En conséquence, on privilégiera une constante pour toute données n'étant pas amenée à être modifiée. Des paramètres de connexion par exemple, en effet.
personnellement je les réserve quand j'ai des messages de traductions à faire, ou des messages qui réapparaissent fréquemment dans des conditions, des choses comme ça. Pour les paramètres de connexion je fous ça dans une classe en private, donc ça se modifie pas :p
Moi aussi, les traductions sont en xml.
Les paramètres de connexion jamais dans des classes pour ma part.
J'utilise des constantes de classe pour les propriétés de classe immuables (messages d'exceptions par exemple).
J'utilise des constantes pour les chemins non modifiables (css, js, images, etc...).
Voilà, quoi...
Perso les paramètres de connexion c'est vrai que sur une appli plus grosse, ça se mettrait plus dans un fichier à mon avis :) mais bon sur mon site, je ne me sers que de ces paramètres dans un fichier PHP, le reste je n'ai aucun mot de passe, donc bon un fichier supplémentaire de conf qui doit être inclus m'est inutile :)
Pour le XML c'est vrai que Malalam tu me connais, je préfère encore les inclusions avec des variables :p
...Pour faire pratique
mafonction($bidule, TRUC | MACHIN);
...ou pour ce passer des series illisible de true/false
mafonction(AVEC_TRUC, SANS_TRUC);
:o)
Pfff.. Et dire que des fois j'aurais envie de reprendre mes anciens
développements en prenant en compte toutes les remarques que je récolte
pour une valeur ajoutée quasi nulle sauf ma satisfaction personnelle..
LOL !!