Re: Re: CONSTANT names...
| From: | Andi Gutmans | Date: | Wed, 05 Jan 2005 01:24:06 +0000 |
| Subject: | Re: Re: CONSTANT names... | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-14283@lists.php.net to get a copy of this message | ||
There are plenty of such examples in many languages. As Johannes mentions, some ppl might even be "abusing" it already :)
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