Funkcja is_callable
Funkcja is_callable sprawdza, czy można wywołać przekazaną wartość jako funkcję.
Zwraca true, jeśli wartość jest:
- nazwą funkcji w postaci ciągu znaków
- tablicą z obiektem i nazwą metody
- obiektem z metodą
__invoke - funkcją anonimową
Składnia
is_callable(
mixed $value,
bool $syntax_only = false,
string &$callable_name = null
): bool
Przykład
Sprawdzanie zwykłej funkcji:
<?php
function test() {}
$res = is_callable('test');
var_dump($res);
?>
Wynik wykonania kodu:
true
Przykład
Sprawdzanie metody klasy:
<?php
class MyClass {
public function method() {}
}
$obj = new MyClass();
$res = is_callable([$obj, 'method']);
var_dump($res);
?>
Wynik wykonania kodu:
true
Przykład
Sprawdzanie nieistniejącej funkcji:
<?php
$res = is_callable('non_existent_function');
var_dump($res);
?>
Wynik wykonania kodu:
false
Przykład
Sprawdzanie obiektu z __invoke:
<?php
class Invokable {
public function __invoke() {}
}
$obj = new Invokable();
$res = is_callable($obj);
var_dump($res);
?>
Wynik wykonania kodu:
true
Zobacz też
-
funkcję
function_exists,
która sprawdza istnienie funkcji -
funkcję
method_exists,
która sprawdza istnienie metody klasy