PHP 8.5.0 Alpha 2 available for testing

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
9 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