Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:40602 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 85993 invoked from network); 22 Sep 2008 16:07:16 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 22 Sep 2008 16:07:16 -0000 Authentication-Results: pb1.pair.com smtp.mail=dmitry@zend.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=dmitry@zend.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 212.25.124.163 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 212.25.124.163 il-gw1.zend.com Windows 2000 SP4, XP SP1 Received: from [212.25.124.163] ([212.25.124.163:54507] helo=il-gw1.zend.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 9E/44-27717-2B2C7D84 for ; Mon, 22 Sep 2008 12:07:15 -0400 Received: from ws.home ([10.1.1.1]) by il-gw1.zend.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 22 Sep 2008 19:07:15 +0300 Message-ID: <48D7C2AE.6000707@zend.com> Date: Mon, 22 Sep 2008 20:07:10 +0400 User-Agent: Thunderbird 2.0.0.16 (X11/20080723) MIME-Version: 1.0 To: Lukas Kahwe Smith CC: Gregory Beaver , internals@lists.php.net References: <48D47532.8080102@chiaraquartet.net> <10845a340809201643q59e27211i471e09241f7253b1@mail.gmail.com> <200809202000.38870.larry@garfieldtech.com> <48D66160.40306@chiaraquartet.net> <48D79672.4060208@zend.com> <48D7A51C.9030805@chiaraquartet.net> <48D7ADAE.5030500@zend.com> <35BF242A-A479-4C8D-9137-0ED1B68109FE@pooteeweet.org> In-Reply-To: <35BF242A-A479-4C8D-9137-0ED1B68109FE@pooteeweet.org> X-Enigmail-Version: 0.95.7 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 22 Sep 2008 16:07:15.0967 (UTC) FILETIME=[481048F0:01C91CCD] Subject: Re: [PHP-DEV] solving the namespace conflict issues between function/staticmethod class constant/ns constant From: dmitry@zend.com (Dmitry Stogov) Lukas Kahwe Smith wrote: > > On 22.09.2008, at 16:37, Dmitry Stogov wrote: > >>> Returning to the original debate, if you really believe this conflict is >>> not an issue, then why was the first user note published last December a >>> note about this conflict? >>> >>> http://us3.php.net/manual/en/language.namespaces.php#80035 >> >> I could add nothing. The problem exists, but proposed solution make >> language even worse. Having A::B->foo() and ->foo() or ::foo() and >> A::B->C::foo() is much more inconsistent from my point of view. >> It would be better to change static class separator from :: to ->, but >> it's a BC break > > > Again, not speaking as an RM, I personally feel we really do have to > solve this ambiguity problem. I do not agree that this only affects > "namespace abusers". > > That being said we have to stay realistic. What Greg proposes is > realistic imho. Its essentially reusing an existing OO syntax. The same > is what we have today with the double colon. While I agree that it would > not be my natural choice, it seems it solves our real problem of the > frequently mentioned ambiguity problem. So from that perspetive its a > step forward from the current syntax. Yes. Changing :: into any other separator solves the functions/static methods and constants ambiguity, but it also breaks intuitive syntax. Thanks. Dmitry. > I know we are getting dangerously close (or are we already back in it?) > to the namespace separator discussion. I remember back then a lot of > people were saying lets get the implementation done first and then worry > about the syntax. I guess we are more or less at this point now. > > regards, > Lukas Kahwe Smith > mls@pooteeweet.org > > >