Variable encapsulation, Set/Get methods are best practices but why do we have a chance to declare a variable public if it’s not meant to be used anyway? Would it have been better if variables were always private by default with no chance of making them public since all of the tutorials I read says they should be encapsulated with set/get methods? Is there any valid use case for public variables at least in PHP OOP?
Variable encapsulation, Set/Get methods are best practices but why do we have a chance
Share
In fact it’s just the other way round: Theoretically getters/setters are wrong. The properties defines the state of an object, where the methods defines the behaviour. Getters/Setters only intercept the read and write access to properties, but they break the semantic meaning completely: Now reading the status of an object is a behaviour of the object.
To make properties to look like properties again there is a RFC on the road 🙂
https://wiki.php.net/rfc/propertygetsetsyntax