In the latter case, the property has value null. In the former case, it is
unset. In both cases, it is declared. Accessing an unset property will
trigger __get/__set. Accessing a null property will not (assuming it is
Is it something that was the same before the RFC and would be different
> or is it already two different cases and how?
This RFC does not have any impact on this behavior. This is a "standard"
pattern used for lazy initialization.