Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:66384 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 68172 invoked from network); 1 Mar 2013 06:23:28 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 1 Mar 2013 06:23:28 -0000 Authentication-Results: pb1.pair.com smtp.mail=ibmurai@me.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=ibmurai@me.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain me.com designates 17.158.232.236 as permitted sender) X-PHP-List-Original-Sender: ibmurai@me.com X-Host-Fingerprint: 17.158.232.236 nk11p03mm-asmtpout001.mac.com Solaris 10 1203 Received: from [17.158.232.236] ([17.158.232.236:57462] helo=nk11p03mm-asmtp001.mac.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 5F/FA-25879-F5940315 for ; Fri, 01 Mar 2013 01:23:27 -0500 Received: from [192.168.1.64] (188-182-36-146-static.dk.customer.tdc.net [188.182.36.146]) by nk11p03mm-asmtp001.mac.com (Oracle Communications Messaging Server 7u4-26.01(7.0.4.26.0) 64bit (built Jul 13 2012)) with ESMTPSA id <0MIY008VRXQHEN90@nk11p03mm-asmtp001.mac.com> for internals@lists.php.net; Fri, 01 Mar 2013 06:23:09 +0000 (GMT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.9.8327,1.0.431,0.0.0000 definitions=2013-03-01_01:2013-02-28,2013-03-01,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 ipscore=0 suspectscore=0 phishscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=6.0.2-1203120001 definitions=main-1302280342 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: quoted-printable Message-ID: Date: Fri, 01 Mar 2013 07:23:04 +0100 To: steve@mrclay.org, "internals@lists.php.net" MIME-version: 1.0 (Mac OS X Mail 6.2 \(1499\)) X-Mailer: Apple Mail (2.1499) Subject: Re: [PHP-DEV] I would like to write an RFC for the addition of an internal keyword From: ibmurai@me.com (Jens Riisom Schultz) > Setting aside difficulty of implementation, I'm coming around to the = idea, though I think you could simplify it by cordoning off an entire = namespace. E.g.: >=20 > A namespace at least two deep (e.g. \A\B\) may be marked 'protected' = (by some method TBD). Classes and functions declared in a protected = namespace can only be accessed from methods or functions inside the same = namespace, or in ancestor namespaces. >=20 > E.g., if \Foo\Internal\ is protected, access of its classes/functions = must originate from classes/functions defined in \Foo\, \Foo\Internal\, = or \Foo\Internal\*. >=20 > This would allow something like nested classes, but obviously with a = lot more flexibility. >=20 > In practice, plugin code sitting in, say, \MyPlugin\ could freely = access \Framework\SomeClass, but not \Framework\Internal\SomeClass. This would solve the problem of internal classes, but these are the = least interesting part, imho - The methods and properties are much more = interesting, hence my new approach in response to Fabians response, = where I drop the concept of internal classes. Please refer to that. >=20 > I see some value there, but there's tons of questions remaining and = how to to implement the damn thing... >=20 > Steve Clay -Jens=