Re: private, protected, readonly, public
| From: | Jason Garber | Date: | Wed, 17 May 2006 03:39:33 +0000 |
| Subject: | Re: private, protected, readonly, public | ||
| References: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-23504@lists.php.net to get a copy of this message | ||
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