В 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. По ходу работы пришлось вспомнить использование этой конструкции. Благо, давным-давно интересовался этим вопросом и результат оказался в песочнице.