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!"