

@dominik False. Readonly properties can be set outside the constructor. In 8.3 they can only be set within the class (private scope). In 8.4, they’re protected set by default, but you can change it, even make them public write.
The “only in the constructor” thing was invented by PHPstan and Psalm. It’s not part of the language. It’s a stupid add-on that 2 dudes came up with for their tools and refuse to change.



@exakat Overall a decent article, but it grossly misunderstands the disagreements around strict_types.