Re: Re: CONSTANT names...

From: 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


« previous php.internals (#14283) next »