Anyway, I don't think adding necessary checks for such things, and slowing define() down (even if it's negligible) is warranted in such cases.
Andi
At 12:29 AM 1/5/2005 +0100, Johannes Schlueter wrote:
Hi Jochem,
you can get the valu of that constant with the constant() function and use such a constant with defined() so forbidding this would at least be a BC break. btw. the same goes for reserved words so define('echo', 42); is valid too but "echo echo;" doesn't work :-)
johannes
Jochem Maas wrote:
> hi guys, > > I was mucking around and noticed the following: > > define("404_SKIP", 1); > > does not give an error and you can successfully get the value of the > constant by doing: > > constant("404_SKIP"); > > where as doing: > > echo 404_SKIP; > > gives an error. > as I understand it, i.e. what the docs say, is that the following regexp > expresses valid starting chars for the name of a constant (the same > going for vars): > > /^[a-zA-Z_\x7f-\xff]/ > > so pretty minor thing here but I expected to see the define() throw a > (fatal?) error, rather than letting me go on. > > kind regards, > Jochem
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php