2008/7/22 Richard Quadling <[EMAIL PROTECTED]>
>
>
> 2008/7/22 Rodrigo Saboya <[EMAIL PROTECTED]>
>
> Evan Priestley escreveu:
>>
>>> This was floated in 2003 but had weak advocation and didn't seem to come
>>> to a decisive resolution:
>>>
>>> http://marc.info/?l=php-internals&m=106685833011253&w=2
>>>
>>> Basically, the proposal is to modify the grammar to allow trailing commas
>>> in function and method calls, so this becomes a parseable PHP construct:
>>>
>>> f(1, 2, 3,);
>>>
>>> This patch applies only to function and method calls; it does not apply
>>> to function or method definitions. It also does not allow the degenerative
>>> case of "f(,)".
>>>
>>> The real value of relaxing this rule is in nontrivial cases that span
>>> across multiple lines:
>>> sprintf(
>>> 'long example pattern with %d conversions: %s',
>>> $several,
>>> $conversions
>>> );
>>>
>>>
>> You could just do this:
>>
>> sprintf(
>> 'long example pattern with %d conversions: %s'
>> ,$several
>> ,$conversions
>> );
>>
>> I really don't see a great benefit here, and as you pointed out it would
>> make code written with trailing commas incompatible with previous versions
>> of PHP.
>>
>> --
>> Rodrigo Saboya
>>
>>
>> --
>> PHP Internals - PHP Runtime Development Mailing List
>> To unsubscribe, visit: http://www.php.net/unsub.php
>>
>>
> Just thinking of other languages that allow you to skip params simply by
> using commas. Whilst this isn't supported in PHP, allowing a trailing comma
> and skipped parameters could look quite interesting!
>
> foo(,,,,,,,);
>
>
> I must admit, I get stung with this in JS when I'm building AJAX option
> sets through Prototype for IE (I think like arrays in PHP which allow
> trailing ,), but I soon learned to do it properly.
>
> I don't see this as a huge advantage.
>
> Regards,
>
> Richard Quadling.
> --
> -----
> Richard Quadling
> Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731
> "Standing on the shoulders of some very clever giants!"
>
Actually, would allowing PHP to skip defaulted parameters be a better
facility to add?
function foo($opt1 = Null, $opt2 = Null){}
foo(,True);
Hmm. Doesn't look good does it. But, useful. Having to supply the default
value if you don't want to override the default is sort of
counter-intuitive. Suppling nothing should equal the default value.
Regards,
Richard.
--
-----
Richard Quadling
Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731
"Standing on the shoulders of some very clever giants!"