6.11. User-Level Overloading

PHP 4 introduced the ability for module developers to overload the object-oriented syntax and create mappings into external object models, such as Java or COM. PHP 5 brings the power of object-oriented overloading syntax to PHP developers, allowing them to create custom behaviors for accessing properties and invoking methods.

User-level overloading is done by defining one or more of the following special methods: __get, __set, and __call. PHP calls these methods when the Zend Engine attempts to access a member and does not find it in the current scope.

In Listing 6.14 __get and __set relay all property accesses to the properties array. If necessary, you can implement any kind of filtering you wish. For example, the ...

Get Core PHP Programming, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.