Markus Fischer schrieb:
> Kevin Brown wrote:
> 
>>The only scripts that would break (far from "trillions") here would be
>>those where you had a space-less ternary statement comparing two
>>constants (NOT namespace constants -- they don't even exist yet), as
>>in the following case:
>>
>>define('foo','odd');
>>define('bar','even');
>>$var = rand() % 2 == 1 ? foo:bar;
> 
> Do we have a way getting numbers on how high the probability is that 
> someone is using two constants in the ternary operator without spaces? 

How exactly is this a big problem? Is the parser always working from
left to right and assigning a token on current context or is it looking
at the whole line? Is it impossible to give the ternary operator a
higher priority than the namespace operator?

Then the implementation could always treat foo:bar as being two
constants in the ternary. This way only new code not using whitespace
would throw parsing errors which actually means that NO existing code
breaks.

OLLi

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to