Re: private, protected, readonly, public
| From: | Ron Korving | Date: | Wed, 17 May 2006 07:23:42 +0000 |
| Subject: | Re: private, protected, readonly, public | ||
| References: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-23510@lists.php.net to get a copy of this message | ||
Marcus,
I'm a big fan of this keyword. No "pppp", and this is in fact clearer and
better than the readonly keyword I advocated. Great idea :)
Ron
"Marcus Boerger" <helly@php.net> schreef in bericht
news:1677590447.20060517002135@marcus-boerger.de...
> 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