[PHP-DEV] Re: Modify language grammar to allow trailing commas in function/method calls
Evan Priestley wrote: support more versions of PHP with your project. It's also straightforward to write a script that uses the tokenizer to safely and unambiguously remove trailing commas (I'd be happy to furnish such a The script convertsyntax.php at http://cschneid.com/php/ already provides this functionality so this is already covered :-) - Chris -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DEV] Re: Modify language grammar to allow trailing commas in function/method calls
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-internalsm=106685833011253w=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
Re: [PHP-DEV] Re: Modify language grammar to allow trailing commas in function/method calls
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-internalsm=106685833011253w=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=ZEND002498r=213474731 Standing on the shoulders of some very clever giants!