is_callable

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

is_callable — Перевіряє, що значення може бути викликане як функція у поточній області видимості

Опис

is_callable(mixed $value, bool $syntax_only = false, string &$callable_name = null): bool

Перевіряє, що значення є callable

Список параметрів

value

Значення для перевірки

syntax_only

Якщо дорівнює true, функція тільки перевіряє, що value може бути функцією чи методом. У цьому випадку відхилятимуться змінні, які не є ні рядком, ні масивом з коректною структурою для використання як callback-функції. Коректна структура масиву передбачає наявність лише двох елементів, перший у тому числі - об'єкт чи рядок, а другий - лише рядок.

callable_name

Отримує ім'я, що викликається. У прикладі нижче це "someClass:: someMethod". Слід пам'ятати, що хоча запис someClass::SomeMethod() означає статичний метод, що викликається, це не так.

Значення, що повертаються

Повертає true, якщо value може бути викликана, або false в іншому випадку.

Приклади

Приклад #1 Приклад використання is_callable()****

Loading...

Приклад #2is_callable()** та конструктори**

Функцияis_callable() не рахує конструктори за callable.

Loading...

Результат виконання наведеного прикладу:

bool(false)
bool(false)

Примітки

  • Об'єкт завжди є callable, якщо він реалізує__invoke(), і цей метод доступний у поточній області видимості.
  • Ім'я класу є callable, якщо воно реалізує__callStatic()
  • Якщо об'єкт реалізує__call()тоді ця функція поверне**true**для будь-якого методу цього об'єкта, навіть якщо метод не визначено.
  • Функція може запускати автозавантаження, якщо викликається під назвою класу.

Дивіться також

  • function_exists() - Повертає true, якщо вказана функція визначена
  • method_exists() - Перевіряє, чи існує метод у даному класі