42 votes

Pouvez-vous dédéfinir ou modifier une constante en PHP ?

Pouvez-vous dédéfinir ou modifier une constante en PHP ?

52voto

George Cummins Points 16354

27voto

Patrick Steil Points 90

Je sais que c'est tard dans le jeu... mais voici une chose qui pourrait aider certaines personnes...

Dans mon fichier "Application.php" (où je définis toutes mes constantes et inclus dans tous mes scripts) je fais quelque chose comme ceci :

 if( !defined( "LOGGER_ENABLED" )){
define( "LOGGER_ENABLED", true );
}

Donc, normalement, chaque script va être activé pour la journalisation... mais si dans UN script particulier je ne veux pas de ce comportement, je peux simplement le faire AVANT d'inclure mon Application.php :

 define( "LOGGER_ENABLED", false );

16voto

Nils Luxton Points 597

Si vous avez absolument besoin de le faire (même si je ne le recommanderais pas comme d'autres l'ont indiqué), vous pouvez toujours utiliser Runkit.

http://www.php.net/manual/en/function.runkit-constant-redefine.php

http://www.php.net/manual/en/function.runkit-constant-remove.php

12voto

Colin Points 1537

Non. Une fois qu'une constante est définie, elle ne peut jamais être modifiée ou indéfinie.

9voto

Nick Rice Points 97

Comme non mentionné ailleurs, l'extension uopz permet de supprimer une constante via uopz_undefine(), pour PHP 5.4+.

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