Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:23504 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 82959 invoked by uid 1010); 17 May 2006 03:39:40 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 82944 invoked from network); 17 May 2006 03:39:40 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 17 May 2006 03:39:40 -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:52773] helo=mx03.izrm.com) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id F5/B2-19568-AFA9A644 for ; Tue, 16 May 2006 23:39:38 -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 1EDC768D6BC; Tue, 16 May 2006 23:39:24 -0400 (EDT) Date: Tue, 16 May 2006 23:39:33 -0400 X-Mailer: The Bat! (v3.65.03) Professional Reply-To: Jason Garber Organization: IonZoft, Inc. X-Priority: 3 (Normal) Message-ID: <1885173537.20060516233933@ionzoft.com> To: Marcus Boerger Cc: Andi Gutmans , Zeev Suraski , PHP internals In-Reply-To: <856284300.20060517001123@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> <1566856608.20060516175908@ionzoft.com> <856284300.20060517001123@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, I've put together a simple test framework and a 18 test cases to start with. It's a stand-alone system that should work correctly on PHP 5 installs. Both CLI mode and Web Server mode work fine. NOTE: The tests I wrote are only testing standard functionality. We need to add tests to check out the new readable patch. -- View the tests online: http://open.izrm.com/~jason/php-readable -- Download a .tgz - just unpack it and it's ready to go: http://open.izrm.com/~jason/download/php-readable.tgz -- Get it with SVN: svn checkout svn://open.izrm.com/php-readable -- If anyone is interested in contributing test cases, please send them over. Thanks! -- Best regards, Jason mailto:jason@ionzoft.com private-outside-read.php private-outside-write.php private-subclass-read.php private-subclass-write.php private-thisclass-read.php private-thisclass-write.php protected-outside-read.php protected-outside-write.php protected-subclass-read.php protected-subclass-write.php protected-thisclass-read.php protected-thisclass-write.php public-outside-read.php public-outside-write.php public-subclass-read.php public-subclass-write.php public-thisclass-read.php public-thisclass-write.php testing-system-test.php Tuesday, May 16, 2006, 6:11:23 PM, you wrote: MB> Hello Jason, MB> write testcase, write in a way that they capture any usage you can MB> think of. Parameter parsing, reference handling returning, inheritance, MB> trying to circumvent the whole stuff, checking all error messages are MB> in place, overloading internal objects that have special handlers just MB> to hwat happens with them (dom, simplexml for instance). How do the MB> magic methods __get, __set, __unset, __isset interfere if at all.... MB> best regards MB> marcus MB> 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 MB> Best regards, MB> Marcus