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() - Перевіряє, чи існує метод у даному класі