| From | Sent On | Attachments |
|---|---|---|
| Christian Schneider | Nov 4, 2003 3:32 pm | .patch |
| Rasmus Lerdorf | Nov 4, 2003 5:06 pm | |
| Ken Tossell | Nov 4, 2003 5:09 pm | |
| Andi Gutmans | Nov 5, 2003 12:49 am | |
| Michael Walter | Nov 5, 2003 12:59 am | |
| Michael Walter | Nov 5, 2003 1:03 am | |
| Kouber Saparev | Nov 5, 2003 1:47 am | |
| Christian Schneider | Nov 5, 2003 2:06 am | |
| s0niX | Nov 5, 2003 2:43 am | |
| Ford, Mike [LSS] | Nov 5, 2003 3:20 am | |
| Mike Robinson | Nov 5, 2003 3:26 am | |
| Dirkjan Ochtman | Nov 5, 2003 3:45 am | |
| Cesare D'Amico | Nov 5, 2003 4:02 am | |
| Alexey Trunyov | Nov 5, 2003 4:34 am | |
| Antony Dovgal | Nov 5, 2003 4:59 am | |
| Marco Tabini | Nov 5, 2003 5:04 am | |
| Ilia Alshanetsky | Nov 5, 2003 5:06 am | |
| Magnus Määttä | Nov 5, 2003 5:07 am | |
| Derick Rethans | Nov 5, 2003 5:18 am | |
| Christian Schneider | Nov 5, 2003 7:34 am | |
| Nicolas Toper | Nov 5, 2003 7:47 am | |
| Ilia Alshanetsky | Nov 5, 2003 7:56 am | |
| Antony Dovgal | Nov 5, 2003 8:03 am | |
| Rasmus Lerdorf | Nov 5, 2003 8:21 am | |
| Christian Schneider | Nov 5, 2003 8:30 am | |
| Andrey Hristov | Nov 5, 2003 8:40 am | |
| Ilia Alshanetsky | Nov 5, 2003 8:47 am | |
| Andi Gutmans | Nov 5, 2003 8:47 am | |
| Jani Taskinen | Nov 5, 2003 8:49 am | |
| Ford, Mike [LSS] | Nov 5, 2003 8:50 am | |
| Marco Tabini | Nov 5, 2003 8:52 am | |
| Christian Schneider | Nov 5, 2003 8:54 am | |
| George Schlossnagle | Nov 5, 2003 8:58 am | |
| Jani Taskinen | Nov 5, 2003 8:59 am | |
| Christian Schneider | Nov 5, 2003 9:00 am | |
| Ford, Mike [LSS] | Nov 5, 2003 9:00 am | |
| Marco Tabini | Nov 5, 2003 9:01 am | |
| Marco Tabini | Nov 5, 2003 9:05 am | |
| Ford, Mike [LSS] | Nov 5, 2003 9:07 am | |
| Ford, Mike [LSS] | Nov 5, 2003 9:09 am | |
| Marco Tabini | Nov 5, 2003 9:18 am | |
| Romans Malinovskis | Nov 5, 2003 9:19 am | |
| Andi Gutmans | Nov 5, 2003 9:20 am | |
| Steph | Nov 5, 2003 9:25 am | |
| Andrey Hristov | Nov 5, 2003 9:25 am | |
| Ilia Alshanetsky | Nov 5, 2003 9:25 am | |
| Marco Tabini | Nov 5, 2003 9:30 am | |
| Derick Rethans | Nov 5, 2003 9:33 am | |
| George Schlossnagle | Nov 5, 2003 9:36 am | |
| Rasmus Lerdorf | Nov 5, 2003 9:45 am | |
| Edin Kadribasic | Nov 5, 2003 9:45 am | |
| Romans Malinovskis | Nov 5, 2003 9:48 am | |
| Moriyoshi Koizumi | Nov 5, 2003 9:50 am | |
| Jani Taskinen | Nov 5, 2003 9:54 am | |
| Jaap van Ganswijk | Nov 5, 2003 10:06 am | |
| Michael Walter | Nov 5, 2003 10:12 am | |
| Cesare D'Amico | Nov 5, 2003 10:22 am | |
| Marco Tabini | Nov 5, 2003 10:28 am | |
| Michael Walter | Nov 5, 2003 10:30 am | |
| Michael Walter | Nov 5, 2003 10:35 am | |
| George Schlossnagle | Nov 5, 2003 10:36 am | |
| Andrei Zmievski | Nov 5, 2003 10:39 am | |
| George Schlossnagle | Nov 5, 2003 10:56 am | |
| David Enderson | Nov 5, 2003 11:02 am | |
| Marco Tabini | Nov 5, 2003 11:10 am | |
| Shane Caraveo | Nov 5, 2003 11:12 am | |
| Michael Walter | Nov 5, 2003 12:26 pm | |
| Greg MacLellan | Nov 5, 2003 12:40 pm | |
| Robert Cummings | Nov 5, 2003 1:08 pm | |
| David Enderson | Nov 5, 2003 1:19 pm | |
| Sara Golemon | Nov 5, 2003 2:40 pm | |
| George Schlossnagle | Nov 5, 2003 3:00 pm | |
| Wez Furlong | Nov 5, 2003 4:06 pm | |
| Christian Schneider | Nov 5, 2003 5:07 pm | |
| Ard Biesheuvel | Nov 5, 2003 5:27 pm | |
| Christian Schneider | Nov 5, 2003 5:50 pm | |
| Andi Gutmans | Nov 6, 2003 12:03 am | |
| Stig S. Bakken | Nov 6, 2003 12:58 am | |
| Kouber Saparev | Nov 6, 2003 1:24 am | |
| Mike Robinson | Nov 6, 2003 3:31 am | |
| Andi Gutmans | Nov 6, 2003 4:04 am | |
| Ford, Mike [LSS] | Nov 6, 2003 4:09 am | |
| Alexey Trunyov | Nov 6, 2003 4:15 am | |
| Ford, Mike [LSS] | Nov 6, 2003 4:27 am | |
| Sascha Schumann | Nov 6, 2003 4:30 am | |
| Andi Gutmans | Nov 6, 2003 5:28 am | |
| Sascha Schumann | Nov 6, 2003 5:46 am | |
| Stig S. Bakken | Nov 6, 2003 6:32 am |
| Subject: | Re: [PHP-DEV] Proposal: Array syntax | |
|---|---|---|
| From: | Marco Tabini (mar...@tabini.ca) | |
| Date: | Nov 5, 2003 5:04:30 am | |
| List: | net.php.lists.internals | |
Hi Andi, Christian--
From a logical standpoint, I think this could be very confusing. To me, for one, square brackets imply reference, not assignment. Taking something that means "take something out of the array" and now using it to mean "put something in the array" makes the language a bit less self-consistent... and, as Rasmus mentioned, less readable. Conciveness is not everything--one also has to be able to understand his own code after he's written it :-)
Cheers,
Marco
Andi Gutmans wrote:
Hi Christian,
Personally I don't like having two ways of doing things. It makes it harder for people to read scripts. However, I think the proposed syntax is significantly more elegant than today's array() which makes me think twice about the idea and possibly making an exception to the rule. I think it'll improve the look of PHP scripts. Also I think people calling methods using call_user_method([$obj, "method"]); will find it sexier than the array() syntax. I guess I think it'd be interesting to see what other's think. Also, another point to check is if list() can also be converted into [] because having a hybrid wouldn't be too nice.
Andi
At 12:33 AM 11/5/2003 +0100, Christian Schneider wrote:
I propose to add an alternative (backward compatible) short array creation syntax: $a = [ 1, 2, 3 ]; and $a = [ 'a' => 42, 'b' => "foo" ];
It can also be used in function calls: img(['src' => "logo.gif", 'alt' => "Logo"]);
Reason behind this change: Arrays are used a lot and should therefore have as little syntactic overhead as possible. And I think the short syntax is also easier to read and write.
A patch for the parser is trivial and is attached for Zend2.
Note: I checked the newsgroup archive but couldn't find a discussion about this. After not hearing back about my proposed enhancement to debug_backtrace() and the dangling comma for function call parameters being rejected I wonder if I'm using the right mailing list for this :-)
- Chris
Index: Zend/zend_language_parser.y =================================================================== RCS file: /repository/ZendEngine2/zend_language_parser.y,v retrieving revision 1.127 diff -u -r1.127 zend_language_parser.y --- Zend/zend_language_parser.y 19 Oct 2003 08:38:48 -0000 1.127 +++ Zend/zend_language_parser.y 4 Nov 2003 23:32:12 -0000 @@ -581,6 +581,7 @@ | '@' { zend_do_begin_silence(&$1 TSRMLS_CC); } expr { zend_do_end_silence(&$1 TSRMLS_CC); $$ = $3; } | scalar { $$ = $1; } | T_ARRAY '(' array_pair_list ')' { $$ = $3; } + | '[' array_pair_list ']' { $$ = $2; } | '`' encaps_list '`' { zend_do_shell_exec(&$$, &$2 TSRMLS_CC); } | T_PRINT expr { zend_do_print(&$$, &$2 TSRMLS_CC); } ;
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php






.patch