Questions sur les constantes

Mammouth du PHP | 568 Messages

17 févr. 2010, 17:10

Hello à tous,

J'ai l'habitude de gérer mes constantes dans un fichier config.inc.php avec
define("NAME", "value");
J'ai pu constater que certain développeur utilisait plutôt des fichiers .ini chargé via un
parse_ini_file("uri")
Quelle est votre façon de procéder? quel est la meilleur façon de faire?

Merci d'avance pour vos remarques.

PS: J'ai dans l'idée de modifier mes codes afin d'appeler une méthode load() par exemple qui chargera les variables du fichier .ini et les placera dans un bout de code define(), ça vous semble correct comme façon de procédé?

ViPHP
ViPHP | 1136 Messages

17 févr. 2010, 21:06

Perso , je suis plus pour les define() ...

les fichiers .ini ne sont pas forcément interprétés , ce qui peut causer des soucis de sécurité ...

Maintenant , ce n'est que mon avis ...

J'utilise cependant plutôt le design pattern library pour gérer mes variables partagés .. certes , ce ne sont pas des constantes ... mais j'ai jamais trop aimé les constantes ... au fond , je ne sais pas pourquoi .. :-)

cdt ,
Ch.

Eléphant du PHP | 63 Messages

17 févr. 2010, 22:55

Personnellement, en PHP 5.2 j'utilise des classes avec des const. En PHP 5.3, directement des const à l'intérieur de mes namespaces.

ViPHP
ViPHP | 2287 Messages

18 févr. 2010, 10:59

Pour les .ini, une bonne pratique est de les stocker dans un répertoire en dehors de l'espace web.

Le .ini a l'avantage d'être plus universel qu'un fichier contenant du code PHP, ce qui est utile en cas de configuration partagée avec d'autres systèmes/logiciels. Mais si on n'a pas ce besoin, un fichier php plein de define() (ou même un tableau) fait aussi bien l'affaire.

Sinon il y a des alternatives avec plus ou moins les mêmes avantages/inconvénients que l'ini : XML, YaML, JSON...
if(!@work()){ Nespresso(); } else { what(); }
______________________________