PHP Conference Nagoya 2025

ReflectionParameter::isCallable

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionParameter::isCallableПроверяет, объявили ли тип параметра как callable

Внимание

Функцию УДАЛИЛИ в PHP 8.0.0. Пользоваться функцией настоятельно не рекомендуют.

Пример на этой странице показывает альтернативный способ, которым получают эту информацию.

Описание

#[\Deprecated]
public ReflectionParameter::isCallable(): bool

Внимание

Функцию пока не задокументировали; для знакомства доступен только список аргументов.

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

У этой функции нет параметров.

Возвращаемые значения

Метод возвращает true, если тип параметра callable, иначе возвращает false. Метод вернёт null, если возникла ошибка.

Список изменений

Версия Описание
8.0.0 Метод устарел в пользу метода ReflectionParameter::getType().

Примеры

Пример #1 Пример альтернативного способа получить информацию о принадлежности параметра типу callable для PHP 8.0.0

Начиная с PHP 8.0.0 следующий код сообщит, поддерживает ли параметр тип callable, в том числе как часть объединения.

<?php

function declaresCallable(ReflectionParameter $reflectionParameter): bool
{
$reflectionType = $reflectionParameter->getType();

if (!
$reflectionType) {
return
false;
}

$types = $reflectionType instanceof ReflectionUnionType
? $reflectionType->getTypes()
: [
$reflectionType]
;

return
in_array(
'callable',
array_map(
fn(
ReflectionNamedType $t) => $t->getName(),
$types
)
);
}

?>

Добавить

Примечания пользователей 1 note

up
0
me at abiusx dot com
8 years ago
Apparently this does not return true for callback arguments to many of the internal functions, such as array_map and array_walk.
To Top