# Класс ReflectionMethod

(PHP 5, PHP 7, PHP 8)

## Введение

Класс ReflectionMethod сообщает информацию о методах.

## Обзор класса

class ReflectionMethod extends ReflectionFunctionAbstract {
/* Константы */
public const int IS_STATIC;
public const int IS_PUBLIC;
public const int IS_PROTECTED;
public const int IS_PRIVATE;
public const int IS_ABSTRACT;
public const int IS_FINAL;
/* Свойства */
public string $class;
/* Наследуемые свойства */
public string $name;
/* Методы */
public function __construct(object|string `$objectOrMethod`, string `$method`)
public function __construct(string `$classMethod`)
public static function createFromMethodName(string `$method`): static
public static function export(string `$class`, string `$name`, bool `$return` = `false`): string
public function getClosure(?object `$object` = `null`): Closure
public function getDeclaringClass(): ReflectionClass
public function getModifiers(): int
public function getPrototype(): ReflectionMethod
public function hasPrototype(): bool
public function invoke(?object `$object`, mixed `...$args`): mixed
public function invokeArgs(?object `$object`, array `$args`): mixed
public function isAbstract(): bool
public function isConstructor(): bool
public function isDestructor(): bool
public function isFinal(): bool
public function isPrivate(): bool
public function isProtected(): bool
public function isPublic(): bool
#[\Deprecated]
public function setAccessible(bool `$accessible`): void
public function __toString(): string
/* Наследуемые методы */
private function ReflectionFunctionAbstract::__clone(): void
public function ReflectionFunctionAbstract::getAttributes(?string `$name` = null, int `$flags` = 0): array
public function ReflectionFunctionAbstract::getClosureCalledClass(): ?ReflectionClass
public function ReflectionFunctionAbstract::getClosureScopeClass(): ?ReflectionClass
public function ReflectionFunctionAbstract::getClosureThis(): ?object
public function ReflectionFunctionAbstract::getClosureUsedVariables(): array
public function ReflectionFunctionAbstract::getDocComment(): string|false
public function ReflectionFunctionAbstract::getEndLine(): int|false
public function ReflectionFunctionAbstract::getExtension(): ?ReflectionExtension
public function ReflectionFunctionAbstract::getExtensionName(): string|false
public function ReflectionFunctionAbstract::getFileName(): string|false
public function ReflectionFunctionAbstract::getName(): string
public function ReflectionFunctionAbstract::getNamespaceName(): string
public function ReflectionFunctionAbstract::getNumberOfParameters(): int
public function ReflectionFunctionAbstract::getNumberOfRequiredParameters(): int
public function ReflectionFunctionAbstract::getParameters(): array
public function ReflectionFunctionAbstract::getReturnType(): ?ReflectionType
public function ReflectionFunctionAbstract::getShortName(): string
public function ReflectionFunctionAbstract::getStartLine(): int|false
public function ReflectionFunctionAbstract::getStaticVariables(): array
public function ReflectionFunctionAbstract::getTentativeReturnType(): ?ReflectionType
public function ReflectionFunctionAbstract::hasReturnType(): bool
public function ReflectionFunctionAbstract::hasTentativeReturnType(): bool
public function ReflectionFunctionAbstract::inNamespace(): bool
public function ReflectionFunctionAbstract::isClosure(): bool
public function ReflectionFunctionAbstract::isDeprecated(): bool
public function ReflectionFunctionAbstract::isGenerator(): bool
public function ReflectionFunctionAbstract::isInternal(): bool
public function ReflectionFunctionAbstract::isStatic(): bool
public function ReflectionFunctionAbstract::isUserDefined(): bool
public function ReflectionFunctionAbstract::isVariadic(): bool
public function ReflectionFunctionAbstract::returnsReference(): bool
abstract public function ReflectionFunctionAbstract::__toString(): void
}

## Свойства

name

  Имя метода

class

  Имя класса

## Предопределённые константы

## Модификаторы ReflectionMethod

`ReflectionMethod::IS_STATIC` int

  Указывает на то, что это статический метод. До PHP 7.4.0, значение было `1`.

`ReflectionMethod::IS_PUBLIC` int

  Указывает на то, что это общедоступный метод. До PHP 7.4.0, значение было `256`.

`ReflectionMethod::IS_PROTECTED` int

  Указывает на то, что это защищённый метод. До PHP 7.4.0, значение было `512`.

`ReflectionMethod::IS_PRIVATE` int

  Указывает на то, что это закрытый метод. До PHP 7.4.0, значение было `1024`.

`ReflectionMethod::IS_ABSTRACT` int

  Указывает на то, что это абстрактный метод. До PHP 7.4.0, значение было `2`.

`ReflectionMethod::IS_FINAL` int

  Указывает на то, что это окончательный метод. До PHP 7.4.0, значение было `4`.

> Замечание:

> Значения этих констант могут изменяться от версии к версии PHP. Рекомендуется всегда использовать константы и не полагаться напрямую на значения.

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

Версия | Описание
--- | ---
8.4.0 | Константы класса теперь типизированы.
8.0.0 | Метод ReflectionMethod::export() был удалён.

## Содержание

- ReflectionMethod::__construct — Конструктор класса ReflectionMethod
- ReflectionMethod::createFromMethodName — Создаёт объект класса ReflectionMethod
- ReflectionMethod::export — Экспортирует отражение метода
- ReflectionMethod::getClosure — Возвращает динамически созданное замыкание для метода
- ReflectionMethod::getDeclaringClass — Получает класс, объявляющий отражённый метод
- ReflectionMethod::getModifiers — Получает модификаторы метода
- ReflectionMethod::getPrototype — Получает прототип метода (если такой есть)
- ReflectionMethod::hasPrototype — Определяет, есть ли у метода прототип
- ReflectionMethod::invoke — Вызов
- ReflectionMethod::invokeArgs — Вызов метода с передачей аргументов массивом
- ReflectionMethod::isAbstract — Проверяет, является ли метод абстрактным
- ReflectionMethod::isConstructor — Проверяет, является ли метод конструктором
- ReflectionMethod::isDestructor — Проверяет, является ли метод деструктором
- ReflectionMethod::isFinal — Проверяет, является ли метод окончательным
- ReflectionMethod::isPrivate — Проверяет, является ли метод закрытым
- ReflectionMethod::isProtected — Проверяет, является ли метод защищённым
- ReflectionMethod::isPublic — Проверяет, является ли метод общедоступным
- ReflectionMethod::setAccessible — Делает метод доступным
- ReflectionMethod::__toString — Возвращает строковое представление объекта ReflectionMethod

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open