Функция is_callable
Функция is_callable
проверяет, можно ли вызвать переданное значение как функцию.
Она возвращает true
, если значение является:
- именем функции в виде строки
- массивом с объектом и именем метода
- объектом с методом
__invoke
- анонимной функцией
Синтаксис
is_callable(
mixed $value,
bool $syntax_only = false,
string &$callable_name = null
): bool
Пример
Проверка обычной функции:
<?php
function test() {}
$res = is_callable('test');
var_dump($res);
?>
Результат выполнения кода:
true
Пример
Проверка метода класса:
<?php
class MyClass {
public function method() {}
}
$obj = new MyClass();
$res = is_callable([$obj, 'method']);
var_dump($res);
?>
Результат выполнения кода:
true
Пример
Проверка несуществующей функции:
<?php
$res = is_callable('non_existent_function');
var_dump($res);
?>
Результат выполнения кода:
false
Пример
Проверка объекта с __invoke:
<?php
class Invokable {
public function __invoke() {}
}
$obj = new Invokable();
$res = is_callable($obj);
var_dump($res);
?>
Результат выполнения кода:
true
Смотрите также
-
функцию
function_exists
,
которая проверяет существование функции -
функцию
method_exists
,
которая проверяет существование метода класса