Учебник PHP
НазадГлава 12. ФункцииВперёд

Функции переменных

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

Функции переменных не работают с такими конструкциями языка, как echo(), unset(), isset(), empty() и include(). Хотя конструкция print() является исключением и будет работать. Это одно из самых важных отличий функций и конструкций языка в PHP.

Пример 12-1. Функция переменной

<?php
function foo()
{
    echo "In foo()<br>\n";
}

function bar($arg = '')
{
    echo "In bar(); argument was '$arg'.<br>\n";
}

$func = 'foo';
$func();
$func = 'bar';
$func('test');
?>

См. также Переменные переменные и function_exists().


НазадОглавлениеВперёд
old_functionВверхКлассы и объекты