html.okpython.net
HTML и CSS для начинающих

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

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

PHP Результат htmlCodes
<?php

function my_func($a){
  echo 'Таймер установлен на '.$a.' секунд.';
}

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

?>

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

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

PHP Результат htmlCodes
<?php

//Функция-обертка для echo
function my_echo($str){	
  echo $str;
}

$my_func = 'my_echo';
//Вызывает функцию my_echo()
$my_func('test'); 

?>

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

Быстрый переход к другим страницам