Вызовы методов, как и обращения к свойствам объекта, могут быть перегружены с использованием методов __call, __get и __set. Эти методы будут срабатывать только в том случае, если объект или наследуемый объект не содержат свойства или метода, к которому осуществляется доступ.
С помощью этих методов обращения к свойствам класса могут быть перегружены
с целью выполнения произвольного кода, описанного в классе.
В аргументе имя
передаётся имя свойства, к которому
производится обращение. Аргумент значение
метода __set()
должен содержать значение, которое будет присвоено свойству класса
с именем имя
.
С использованием этого метода, методы класса могут быть перегружены
с целью выполнения произвольного кода, описанного в классе.
В аргументе имя
передаётся имя вызванного
метода. Аргументы, которые были переданы методу при обращении,
будут возвращены чере аргументы
.
Значение, возвращённое методом __call(), будет передано вызывающему оператору.
Пример 19-21. Пример перегрузки с использованием __call
Результатом выполнения будет:
|
Пред. | Начало | След. |
Интерфейсы объектов | Уровень выше | Итераторы объектов |