Developers often use methods to wrap and guard access to object properties. There are several highly common patterns for such logic, which in practice may be verbose to implement repeatedly. Alternatively, developers may use __get and __set to intercept reads and writes generically, but that is a sledge-hammer approach that intercepts all undefined (and some defined) properties unconditionally. Property hooks provide a more targeted, purpose-built tool for common property interactions.| wiki.php.net
Important: parts of this RFC were further enhanced by https://wiki.php.net/rfc/opt_in_dom_spec_compliance| wiki.php.net