Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:74803 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 73209 invoked from network); 9 Jun 2014 15:02:46 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 9 Jun 2014 15:02:46 -0000 Authentication-Results: pb1.pair.com header.from=ml@anderiasch.de; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=ml@anderiasch.de; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain anderiasch.de from 81.169.138.148 cause and error) X-PHP-List-Original-Sender: ml@anderiasch.de X-Host-Fingerprint: 81.169.138.148 ares.art-core.org Received: from [81.169.138.148] ([81.169.138.148:42920] helo=ares.art-core.org) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id D0/84-45325-19CC5935 for ; Mon, 09 Jun 2014 11:02:41 -0400 Received: from [192.168.178.20] (p5089581C.dip0.t-ipconnect.de [80.137.88.28]) by ares.art-core.org (mail.art-core.org) with ESMTPSA id DFB1D2EE187; Mon, 9 Jun 2014 17:02:37 +0200 (CEST) Message-ID: <5395CC8D.5060702@anderiasch.de> Date: Mon, 09 Jun 2014 17:02:37 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Nikita Popov , PHP internals References: In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC] [PHP 6] Uniform Variable Syntax From: ml@anderiasch.de (Florian Anderiasch) On 09.06.2014 15:33, Nikita Popov wrote: > https://wiki.php.net/rfc/uniform_variable_syntax > > The RFC is targeted at PHP 6 because it breaks compatibility for some > rarely used variable-variable constructs. I am all for consistency, but if I look at this: >Example of expressions those meaning changes: > // old meaning // new meaning > $$foo['bar']['baz'] ${$foo['bar']['baz']} ($$foo)['bar']['baz'] > Foo::$bar['baz']() Foo::{$bar['baz']}() (Foo::$bar)['baz']() > $foo->$bar['baz']() $foo->{$bar['baz']}() ($foo->$bar)['baz']() Those last 2 lines (old meaning) are exactly as I would have read them without thinking. So.. either I just got used to some kind of subliminal rule over all these years or I'm missing something. They're not variable variables, either. Somewhere in the proposal you write "It follows normal left-to-right semantic". This sounds very good in theory, but right now it feels a little unintuitive. Greetings, Florian