> On 28 Oct 2014, at 09:46, Chris Wright <[email protected]> wrote:
>
> Sorry, but I don't like this. This means that the visibility modifier is no
> longer next to the thing that it applies to,
I wouldn’t say that. The visibility modifier is an aspect of the property
itself, not its implementation. A property can be public-readable and
private-writeable regardless of whether it’s a plain property or is a getter
and a setter.
> IMO this is actually harmful to the readability because the order in which
> the accessors were defined then becomes significant
It wouldn’t be significant. The public/private doesn’t apply to the getters and
setters, it applies to reading and writing from the property, regardless of its
implementation.
If we did’t enforce order, got the read/write syntax and getters and setters,
hypothetically this would be possible:
public/private $foobar {
set($value) { … }
get { … }
}
However, hopefully coding style guides would discourage that.
> I would suggest something like this:
>
> public $foobar {
> get { return $this->bar * $this->foo; }
> private set($value) { $this->bar = $value / $this->foo }
> }
>
> ...where only a single visibility modifier is permitted on the left, and this
> is treated as the *default* visibility for the accessors, which are free to
> declare another visibility if they want
I don’t like this, it’s moving the visibility again and having it split between
the start and end of the declaration.
--
Andrea Faulds
http://ajf.me/
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php