Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:23481 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 70130 invoked by uid 1010); 16 May 2006 22:11:22 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 70114 invoked from network); 16 May 2006 22:11:22 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 16 May 2006 22:11:22 -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:59745] helo=strato.aixcept.de) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id 98/F4-19568-90E4A644 for ; Tue, 16 May 2006 18:11:22 -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 E24D435C1E9; Wed, 17 May 2006 00:11:18 +0200 (CEST) Date: Wed, 17 May 2006 00:11:23 +0200 Reply-To: Marcus Boerger X-Priority: 3 (Normal) Message-ID: <856284300.20060517001123@marcus-boerger.de> To: Jason Garber Cc: Andi Gutmans , Zeev Suraski , PHP internals In-Reply-To: <1566856608.20060516175908@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> <1566856608.20060516175908@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, write testcase, write in a way that they capture any usage you can think of. Parameter parsing, reference handling returning, inheritance, trying to circumvent the whole stuff, checking all error messages are in place, overloading internal objects that have special handlers just to hwat happens with them (dom, simplexml for instance). How do the magic methods __get, __set, __unset, __isset interfere if at all.... best regards marcus Tuesday, May 16, 2006, 11:59:08 PM, you wrote: > Hello Andi, > Your request for edge condition research is an excellent one. We've > just been through a hellish couple weeks of QA failures (at my > company) which just *underscore* your point. The last thing any of > us needs is a broken PHP. > That being said, is there anything I can do to help us find this > stuff out? > -- > Best regards, > Jason mailto:jason@ionzoft.com > Tuesday, May 16, 2006, 5:41:31 PM, you wrote: AG>> Where would readable be enforced? Would it try and prevent getting AG>> references to it? Are there any internal functions/classes which need AG>> fixing to honor readable? AG>> I think these answers would really be helpful. AG>> Thanks. AG>> Andi AG>> 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 Best regards, Marcus