Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:40597 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 7019 invoked from network); 22 Sep 2008 13:20:38 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 22 Sep 2008 13:20:38 -0000 Authentication-Results: pb1.pair.com header.from=jochem@iamjochem.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=jochem@iamjochem.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain iamjochem.com from 194.109.193.121 cause and error) X-PHP-List-Original-Sender: jochem@iamjochem.com X-Host-Fingerprint: 194.109.193.121 mx1.moulin.nl Linux 2.6 Received: from [194.109.193.121] ([194.109.193.121:35924] helo=mx1.moulin.nl) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id A9/03-27717-5AB97D84 for ; Mon, 22 Sep 2008 09:20:38 -0400 Received: from localhost (localhost [127.0.0.1]) by mx1.moulin.nl (Postfix) with ESMTP id 280B3287734; Mon, 22 Sep 2008 15:20:34 +0200 (CEST) X-Virus-Scanned: amavisd-new at moulin.nl Received: from mx1.moulin.nl ([127.0.0.1]) by localhost (mx1.moulin.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4wO-PfDvX89G; Mon, 22 Sep 2008 15:20:29 +0200 (CEST) Received: from [10.0.13.104] (ip129-15-211-87.adsl2.static.versatel.nl [87.211.15.129]) by mx1.moulin.nl (Postfix) with ESMTP id DB3A1286D94; Mon, 22 Sep 2008 15:20:28 +0200 (CEST) Message-ID: <48D79B9D.2080703@iamjochem.com> Date: Mon, 22 Sep 2008 15:20:29 +0200 User-Agent: Thunderbird 2.0.0.16 (Macintosh/20080707) MIME-Version: 1.0 To: Dmitry Stogov CC: Greg Beaver , Lupus Michaelis , 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> In-Reply-To: <48D79672.4060208@zend.com> X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] solving the namespace conflict issues between function/staticmethod class constant/ns constant From: jochem@iamjochem.com (Jochem Maas) Dmitry Stogov schreef: > Hi Greg, > > Greg Beaver wrote: ... > > I really don't see a reason to change namespace syntax into a less > intuitive way. I don't think the current implementation is intuitive, the ambiguity issues, (and possibly the name resolution order, although I can't grok what the current state of that is) are rather large WTFs. > Your speed degradation argument isn't truth. The > ambiguity problem exists, but it is just an ability to use php in a > wrong way. Just don't create conflicting names. which begs the question, what was namespaces created for? (that's a serious question because your statement has me truly confused) we can "Just not create conflicting names" without namespaces and Stas has mentioned numerous times that namespace were not designed just to avoid having to repeatedly type long symbol names. another thing, the ability to use php the wrong way is an argument that has been used lately both to: 1. advocate leaving functionality as it is and putting the burden of responsibility on the developer to do the right thing. 2. advocate changing functionality (or making the functionality illegal) in order to protect the user from doing something stupid. .. not exactly consistent. BTW, not creating conflicting names doesn't make the problem completely dissappear, code is still vulnerable breakage due to addition of new functions or classes in future version of the engine. > I would recommend option #1 (stay it as is + document) It would seem that it's yours' and Stas' responsibility to properly document how namespaces should be used because everyone else either doesn't care much about it or has, according to you, completely the wrong end of the stick with regard to the how/why/what of namespaces. Can we at least count on you [both] to provide that documentation?