Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:23482 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 71479 invoked by uid 1010); 16 May 2006 22:13:27 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 71464 invoked from network); 16 May 2006 22:13:27 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 16 May 2006 22:13:27 -0000 X-PHP-List-Original-Sender: jason@ionzoft.com X-Host-Fingerprint: 72.32.22.104 mx03.izrm.com Linux 2.5 (sometimes 2.4) (4) Received: from ([72.32.22.104:40574] helo=mx03.izrm.com) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id A7/35-19568-68E4A644 for ; Tue, 16 May 2006 18:13:26 -0400 Received: from JASONGARBER2 (207-255-4-232-static.aoo.pa.atlanticbb.net [207.255.4.232]) by mx03.izrm.com (Postfix) with ESMTP id 602F868D3C1; Tue, 16 May 2006 18:13:15 -0400 (EDT) Date: Tue, 16 May 2006 18:13:22 -0400 X-Mailer: The Bat! (v3.65.03) Professional Reply-To: Jason Garber Organization: IonZoft, Inc. X-Priority: 3 (Normal) Message-ID: <1014418169.20060516181322@ionzoft.com> To: Marcus Boerger Cc: internals@lists.php.net In-Reply-To: <1531743211.20060516234945@marcus-boerger.de> References: <785810036.20060511193536@ionzoft.com> <44647B7A.2070301@php.net> <932738738.20060513112734@marcus-boerger.de> <837405862.20060513223403@ionzoft.com> <36828701.20060514110529@marcus-boerger.de> <31269879.20060514221212@marcus-boerger.de> <1327845846.20060514222154@marcus-boerger.de> <1562034641.20060516203354@marcus-boerger.de> <7.0.1.0.2.20060516235201.090f10a8@zend.com> <7.0.1.0.2.20060516142654.02c78380@zend.com> <596643859.20060516233753@marcus-boerger.de> <7.0.1.0.2.20060516144030.039abe98@zend.com> <1531743211.20060516234945@marcus-boerger.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] private, protected, readonly, public From: jason@ionzoft.com (Jason Garber) Hello Marcus, Is this correct? private readable $abc; - doesn't make sense. protected readable $abc; - sub-class can read, not write - not visible outside class public readable $abc; - sub-class can read, and write - outside class can read, not write If not, please clarify. Thanks! -- Best regards, Jason mailto:jason@ionzoft.com Tuesday, May 16, 2006, 5:49:45 PM, you wrote: MB> Hello Andi, MB> nothing else needs to be fixed. The patch considers a reference as a write MB> operation as well as anything else that doesn't identify itself as a read MB> operation. And the enforcement itself just means that whatever you define MB> besides readable is being ignored for read operations. MB> best regards MB> marcus MB> Tuesday, May 16, 2006, 11:41:31 PM, you wrote: >> Where would readable be enforced? Would it try and prevent getting >> references to it? Are there any internal functions/classes which need >> fixing to honor readable? >> I think these answers would really be helpful. >> Thanks. >> Andi >> At 02:37 PM 5/16/2006, Marcus Boerger wrote: >>>Hello Andi, >>> >>> that is why most here already switched to "public readable". >>> >>>best regards >>>marcus >>> >>>Tuesday, May 16, 2006, 11:31:14 PM, you wrote: >>> >>> > I can't quite explain it but for me the ability to work-around >>> > private with methods which are able to access the private variable, >>> > is different than marking a property as read-only but it not being >>> > read-only in all semantics. Probably because private variables do >>> > often have getters and setters, whereas something which is marked as >>> > read-only (like a harddrive) tends to be read-only always. >>> >>> > Andi >>> >>> > At 02:08 PM 5/16/2006, Zeev Suraski wrote: >>> >>>However, the reason i write this mail is that you said there could be >>> >>>problems. Well this is deply integrated in the handlers and they don't >>> >>>let you out. In other words if this stuff is not working then the whole >>> >>>PHP 5+ object model is broken. Or in other words, if this is broken alot >>> >>>of other stuff regarding object handling is already broken. >>> >> >>> >>You're probably right about this one. You can already return a >>> >>reference to a private variable today and change it. Andi - did you >>> >>mean something else? >>> >>> >>> >>> >>>Best regards, >>> Marcus MB> Best regards, MB> Marcus