Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:23485 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 75909 invoked by uid 1010); 16 May 2006 22:21:32 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 75894 invoked from network); 16 May 2006 22:21:32 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 16 May 2006 22:21:32 -0000 X-PHP-List-Original-Sender: helly@php.net X-Host-Fingerprint: 81.169.182.136 ajaxatwork.net Linux 2.4/2.6 Received: from ([81.169.182.136:59764] helo=strato.aixcept.de) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id AA/F5-19568-C605A644 for ; Tue, 16 May 2006 18:21:32 -0400 Received: from baumbart.mbo (dslb-084-063-059-004.pools.arcor-ip.net [84.63.59.4]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by strato.aixcept.de (Postfix) with ESMTP id 6A14935C1E9; Wed, 17 May 2006 00:21:29 +0200 (CEST) Date: Wed, 17 May 2006 00:21:35 +0200 Reply-To: Marcus Boerger X-Priority: 3 (Normal) Message-ID: <1677590447.20060517002135@marcus-boerger.de> To: Jason Garber Cc: internals@lists.php.net In-Reply-To: <1014418169.20060516181322@ionzoft.com> 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> <1014418169.20060516181322@ionzoft.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] private, protected, readonly, public From: helly@php.net (Marcus Boerger) Hello Jason, i changed from readonly to readable, which means the new keyword makes it public for any read access, that is: private readable $abc; - class itself can read and write - public for everybody when reading, inside & outside of the class protected readable $abc; - class itself can read and write - sub-class can read and write - public for everybody when reading, inside & outside of the class public readable $abc; - just as public alone best regards marcus Wednesday, May 17, 2006, 12:13:22 AM, you wrote: > 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 Best regards, Marcus