Re: [RFC] Asymmetric Visibility, with readonly

From: Date: Tue, 13 Dec 2022 17:03:05 +0000
Subject: Re: [RFC] Asymmetric Visibility, with readonly
References: 1 2 3 4 5  Groups: php.internals 
Request: Send a blank email to internals+get-119133@lists.php.net to get a copy of this message
> Le 13 déc. 2022 à 16:34, Claude Pache <claude.pache@gmail.com> a écrit : > > > Hi, > > As of today, the following declarations are rejected as syntax errors: > > ```php > class C { > $a; > int $b; > } > ``` > > while the following declarations are accepted with implicit > public visibility: > > ```php > class C { > static $c; > readonly int $d; > } > ``` > > It would be reasonable to propose to allow to consistently omit the public‘+ > —L¦6ÌÍÍqGEYX keyword. But allowing to omit it in some cases (including the most controversial one: > protected(set)) and not in other cases...? Because of this > inconsistency, people are incited to always write explicitly public > anyway. > > —Claude However, I’m just realising that omitting public in declarations like public $a and public int $b is probably not a good idea, because it is incompatible with constructor property promotion, as function __construct(public int $b) { }, and function __construct(int $b) { } have different meanings. —Claude

« previous php.internals (#119133) next »