Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:41248 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 10757 invoked from network); 17 Oct 2008 20:20:09 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 17 Oct 2008 20:20:09 -0000 Authentication-Results: pb1.pair.com header.from=pstradomski@gmail.com; sender-id=pass; domainkeys=bad Authentication-Results: pb1.pair.com smtp.mail=pstradomski@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 66.249.92.171 as permitted sender) DomainKey-Status: bad X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: pstradomski@gmail.com X-Host-Fingerprint: 66.249.92.171 ug-out-1314.google.com Received: from [66.249.92.171] ([66.249.92.171:37056] helo=ug-out-1314.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 98/93-19022-873F8F84 for ; Fri, 17 Oct 2008 16:20:08 -0400 Received: by ug-out-1314.google.com with SMTP id k3so151560ugf.37 for ; Fri, 17 Oct 2008 13:20:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:reply-to:to:subject:date :user-agent:references:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:message-id; bh=pDnwURobWnUdJPFXF+2aeZESzucQXAt9BrAzs6nMdQ0=; b=vWAG8v2ZIzEKSX4x/51sFuPsQe9aCuIi0YG+qsAhdlw/PsBhgJ2cEA3QCVu0UOll15 +S8ONzYzvSe3uCQGZMzFZVlTGWs3LdTvy7BGBH8Gx9oMzrkXiNIwsg3fKJPJ+NfpYw7h 7DOUrcXb5ndF9GiiSavjPIJd/BTacLbHocP5k= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:reply-to:to:subject:date:user-agent:references:in-reply-to :mime-version:content-type:content-transfer-encoding :content-disposition:message-id; b=dOWuaV3d5TgbxnWPIBEbg72tD+of5sJv0edGzkAWmYPfvKjCyVsEEOwDzuQIVdyTFj a2EIGjLv3o4LX2Mv40npn1wVVtuXsA2jpLq2XeXXpnJmqFtmbcKLBTXL/ammPgggnzP2 lIDTmTxA0cXY8rjxoCX+r+zFcl3Au2yYjvjiU= Received: by 10.67.19.13 with SMTP id w13mr384709ugi.35.1224274805247; Fri, 17 Oct 2008 13:20:05 -0700 (PDT) Received: from ?192.168.0.253? (aafp209.neoplus.adsl.tpnet.pl [83.4.145.209]) by mx.google.com with ESMTPS id e5sm544630ugf.42.2008.10.17.13.20.03 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 17 Oct 2008 13:20:04 -0700 (PDT) Reply-To: =?utf-8?q?Pawe=C5=82_Stradomski?= To: internals@lists.php.net Date: Fri, 17 Oct 2008 22:20:23 +0200 User-Agent: KMail/1.9.9 References: <48F653FF.5010106@chiaraquartet.net> <63.BA.57950.BB2A8F84@pb1.pair.com> In-Reply-To: <63.BA.57950.BB2A8F84@pb1.pair.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-ID: <200810172220.23260.pstradomski@gmail.com> Subject: Re: [PHP-DEV] Re: my last attempt at sanity with namespaces From: pstradomski@gmail.com (=?utf-8?q?Pawe=C5=82_Stradomski?=) W li=C5=9Bcie Ryan Panning z dnia pi=C4=85tek 17 pa=C5=BAdziernika 2008: > Request =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Autoload Gets =C2= =A0 Type > ----------------------------------------------- > A::B:>C =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0A::B:>C =C2=A0 = =C2=A0 =C2=A0 =C2=A0 Class > A::B:>func() =C2=A0 =C2=A0 =C2=A0 =C2=A0 A::B =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0Namespace > A::B:>C::CONST =C2=A0 =C2=A0 =C2=A0 A::B:>C =C2=A0 =C2=A0 =C2=A0 =C2=A0 C= lass > A::B::C:>D::method() A::B::C:>D =C2=A0 =C2=A0 =C2=A0Class > A::B::C::D:>CONST =C2=A0 =C2=A0A::B::C::D =C2=A0 =C2=A0 =C2=A0Namespace I'm just a mere user, but if we go for other namespace separator (be it :::= =20 or :> or anything else), then I'd rather see it used both between namespace= =20 and class/function/constant name *and* between namespace parts. To be clear= -=20 for the examples above I'd rather have them written as: A:>B:>C A:>B:>func() A:>B:>C::CONST A:>B:>C:>D::method() or A:::B:::C, A:::B:::func, A:::B:::C::CONST. That way :: is just operator for static class access (static methods and=20 properties), while :> or ::: is just namespace access operator, so we can=20 always assume that anything on the left side of ::: or :> is a namespace. I= n=20 Ryan's version :: is sometimes static class access operator, sometimes=20 namespace segment separator, depending on position. =2D-=20 Pawe=C5=82 Stradomski