Just throw an error if conflicting accessors are defined. In the case of 
subtypes: accessors may broaden the interface, but not limit it => LSP. So it’s 
fine to make a parents protected accessor public, but not the other way around.

Am 19.11.2011 um 02:46 schrieb Clint M Priest:

> What would everyone think about multiple levels of visibility for 
> getters/setters?
> 
> class Sample {
> 
> public $Variable {
>                public get { return "Public"; }
>                protected get { return "Protected"; }
>                private get { return "Private"; }
> 
>                public set { ... }
>                private set { ... }
> }
> }
> 
> Whichever getter/setter would be called with the most restricted access, so 
> externally public, internally protected (if inherited) or private from within.
> 
> Any value to this?  I can see some use cases and wouldn't be any more 
> difficult to implement into what I'm already doing.
> 
> -Clint


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to