Оглавление
ВведениеИспользование функций с переменными для вызова методаИспользование функций с переменными для вызова статического методаИтог
Функции с переменными в PHP
Введение
Функции с переменными позволяют использовать переменную как функцию. Если к переменной добавить скобки
(), PHP ищет функцию с именем, совпадающим со значением переменной, и выполняет её. Например:Результат:
Как это работает:
- Определяется переменная
$fи ей присваивается строка'strlen'. - Переменная
$fиспользуется как функция, в которую передаётся строка'Hello'. - При встрече конструкции
$f()PHP ищет функциюstrlen(). Поскольку это встроенная функция, она вызывается. - Если функция с таким именем не найдена, возникает ошибка. Например:
Ошибка:
В этом примере возникает ошибка, так как функция
len() не определена.Использование функций с переменными для вызова метода
Функции с переменными позволяют вызывать методы объекта. Синтаксис вызова метода через функцию с переменной выглядит так:
Обратите внимание, что перед именем переменной также ставится знак
$. Например:Как это работает
- Определяется класс
Strс тремя методами для преобразования строки к нижнему, верхнему регистру и регистру заголовка. - Метод
convert()принимает строку. Если аргумент формата не совпадает с именами методов (lower,upper,title), выбрасывается исключение. Иначе вызывается соответствующий метод.
Пример использования:
Результат:
Использование функций с переменными для вызова статического метода
Пример вызова статического метода через функцию с переменной:
Класс
Str содержит конструктор, метод __toString() и статический метод compare(), который сравнивает два экземпляра класса.Вызов статического метода через переменную:
Итог
- Чтобы вызвать функцию по имени из переменной, добавьте к ней скобки
(). - Для вызова метода объекта используйте конструкцию
$this->$variable(). - Для вызова статического метода класса -
ClassName::$variable().

