Пользовательские функции в объектно-ориентированном PHP

В PHP есть множество функций, которые позволяют в качестве параметра использовать имя так называемой user defined function — функция, написанная для собственных нужд. Все было хорошо, пока не перешел на ООП.

Как указать в ООП имя собственной функции? Очень просто.

Допустим, мы хотим использовать функцию array_walk(). В процедурном стиле мы бы написали следующее:

1
array_walk($array_values, 'myFunction');

В ООП эта конструкция не сработает, но есть выход:

1
array_walk($array_values, array($this, 'myFunction'));

Указав массив array($this, ‘myFunction’) мы указываем, что нужно использовать метод “myFunction” из текущего класса.

P.S. По ходу работы пришлось вспомнить использование этой конструкции. Благо, давным-давно интересовался этим вопросом и результат оказался в песочнице.