Обращение к функциям через переменные в PHP
http://belarusweb.net
Основы создания сайтов

Обращение к функциям через переменные

В PHP поддерживается концепция переменных функций. Это означает, что если к имени переменной, значением которой является строка, присоединены круглые скобки, PHP ищет функцию, имя которой совпадает с этой строкой, и в случае успеха пытается выполнить найденную функцию (см. пример 5.15).

<?php
function my_func($a){
  echo 'Таймер установлен на '.$a.' секунд.';
}
$set_time='my_func'; //Теперь можно вызывать функцию my_func() при помощи  
						   //переменной $set_time, которая хранит имя указанной 
						   //функции в виде строки
$set_time(5);        //Выведет строку 'Таймер установлен на 5 секунд.'
?>

Пример 5.15. Обращение к функциям через переменные

Отметим, что переменные функции не будут работать со встроенными языковыми конструкциями или функциями вроде echo или unset(). В таких случаях следует создавать свои функции-обертки, которые позволят работать со встроенными конструкциями наподобие пользовательских функций (см. пример 5.16).

<?php
function my_echo($str){		//Функция-обертка для echo
  echo $str;
}
$my_func = 'my_echo';
$my_func('test');  			//Вызывает функцию my_echo()
?>

Пример 5.16. Обращение к встроенным функциям через переменные при помощи функций-оберток