Пользовательские функции в объектно-ориентированном PHP
В PHP есть множество функций, которые позволяют в качестве параметра использовать имя так называемой user defined function — функция, написанная для собственных нужд. Все было хорошо, пока не перешел на ООП.
Как указать в ООП имя собственной функции? Очень просто.
Допустим, мы хотим использовать функцию array_walk(). В процедурном стиле мы бы написали следующее:
<?php
array_walk($array_values, 'myFunction');
?>
В ООП эта конструкция не сработает, но есть выход:
<?php
array_walk($array_values, array($this, 'myFunction'));
?>
Указав массив array($this, 'myFunction') мы указываем, что нужно использовать метод "myFunction" из текущего класса.
P.S. По ходу работы пришлось вспомнить использование этой конструкции. Благо, давным-давно интересовался этим вопросом и результат оказался в песочнице.
Ярлыки: oop, php, user defined function