After reading GPB, Nicolas, Jordan and Larry's considerations, I no longer have any objections to this RFC. Here is my summary of it all:
- It's very easy for everyone to wrongly interpret readonly as somewhat immutable, but it isn't (docs/education issue) - LSP is about the writer of the child class, not about PHP - If you don't want child classes to violate LSP, make your class `final readonly` - readonly as "constructor-init" properties mindset make it even stronger the argument that child classes should be free to choose their definition because constructors are special methods not bound by inheritance. Overall the most important aspect for me was that there was a pragmatic decision of supporting readonly properties as it covers most of the need without the whole hustle/complexity of asymmetric visibility and it was very good for Nicolas to bring up again that pragmatic notion. This doesn't have to be complex and limiting child classes makes it more complex. In the future, the education around readonly keyword will be that it has no bearings anywhere except the class that makes use of the keyword. -- Marco Deleu