Re: [RFC] [Discussion] Final promoted properties
On 3/24/25 13:33, Daniel Scherzer wrote:
From the RFC:
Since properties declared as final
do not need an explicit
visibility set (defaulting to public), no visibility is required in
the promotion if final
is used, though visibility (including
asymmetric visibility) and other features (like property hooks) can
be used and combined with final
.
My first thought was that it feels weird to define a promoted property without a visibility modifier, but I didn't realize that this is valid in PHP 8.4:
class Foo
{
final string $foo = 'This is a foo';
}
var_dump(new Foo()->foo);
So, if that's valid, then I don't have any objections following the same pattern with promoted properties.
I find it interesting that you can still declare a class property with the var
keyword, but you can't use final
with var
, and you can't use var
to promote properties. That's probably for the best. :-)
Cheers,
Ben
Attachment: [application/pgp-signature] OpenPGP digital signature OpenPGP_signature.asc
Thread (4 messages)