Re: [Fwd: [PHP] constant() - php5]

From: Date: Fri, 01 Jul 2005 14:13:44 +0000
Subject: Re: [Fwd: [PHP] constant() - php5]
References: 1 2 3 4  Groups: php.internals 
Request: Send a blank email to internals+get-17060@lists.php.net to get a copy of this message
Derick Rethans wrote:
On Fri, 1 Jul 2005, Jochem Maas wrote:
echo constant('CNST'); when: echo CNST; only triggers an E_NOTICE. (assuming, in both cases that CNST is not defined). IMHO it should at most trigger an E_NOTICE.
Did you compare the output of the two statements?
I did.
echo constant('CNST'); shows nothing (except the warning) echo CNST; shows "CNST" (and a notice). This makes perfect sense to me to differentiate between them like this.
ok - agreed that the echo behaviour is logical - but I wasn't actually pertaining to the echo behaviour (and what was being echo'ed wasn't relevant to my original question). my point is that using a constant directly in your code when that constant doesn't exist only causes an E_NOTICE but passing a string to constant() when a constant of the given name doesn't exist causes an E_WARNING. I would either expect both to cause the same level of error OR that trying to use an undefined constant directly in code would cause a lower level of error. but if you say the error output behaviour is expected/correct/desired then I'm happy to except it (and adjust my expectations accordingly) - if you (anyone) could explain why (because I don't grok the logic behind this behaviour) I would be very grateful, maybe it will bring me one step closer to being able to call myself a real programmer. :-/ anyway thanks for taking the time to reply, I gather that you, Derick (amongst others!), have a plate full of PHP work in the form of unicode and date related stuff (which I am very much looking forward to!) - i.e. you are busy-busy, time is short, etc etc. kind rgds, Jochem
Derick


« previous php.internals (#17060) next »