вторник, 29 июня 2010 г.

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

Ярлыки: , ,

Комментарии: 1:

В 23 декабря 2011 г. в 06:48 , Blogger SHYAM сказал(а)...

пользовательские


just linked this article on my facebook account. it’s a very interesting article for all.

 

Отправить комментарий

Подпишитесь на каналы Комментарии к сообщению [Atom]

<< Главная страница