# Класс ReflectionClass

(PHP 5, PHP 7, PHP 8)

## Введение

Класс ReflectionClass сообщает информацию о классе.

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

class ReflectionClass implements Reflector {
/* Константы */
public const int IS_IMPLICIT_ABSTRACT;
public const int IS_EXPLICIT_ABSTRACT;
public const int IS_FINAL;
public const int IS_READONLY;
public const int SKIP_INITIALIZATION_ON_SERIALIZE;
public const int SKIP_DESTRUCTOR;
/* Свойства */
public string $name;
/* Методы */
public function __construct(object|string `$objectOrClass`)
public static function export(mixed `$argument`, bool `$return` = `false`): string
public function getAttributes(?string `$name` = `null`, int `$flags` = 0): array
public function getConstant(string `$name`): mixed
public function getConstants(?int `$filter` = `null`): array
public function getConstructor(): ?ReflectionMethod
public function getDefaultProperties(): array
public function getDocComment(): string|false
public function getEndLine(): int|false
public function getExtension(): ?ReflectionExtension
public function getExtensionName(): string|false
public function getFileName(): string|false
public function getInterfaceNames(): array
public function getInterfaces(): array
public function getLazyInitializer(object `$object`): ?callable
public function getMethod(string `$name`): ReflectionMethod
public function getMethods(?int `$filter` = `null`): array
public function getModifiers(): int
public function getName(): string
public function getNamespaceName(): string
public function getParentClass(): ReflectionClass|false
public function getProperties(?int `$filter` = `null`): array
public function getProperty(string `$name`): ReflectionProperty
public function getReflectionConstant(string `$name`): ReflectionClassConstant|false
public function getReflectionConstants(?int `$filter` = `null`): array
public function getShortName(): string
public function getStartLine(): int|false
public function getStaticProperties(): array
public function getStaticPropertyValue(string `$name`, mixed `&$default` = ?): mixed
public function getTraitAliases(): array
public function getTraitNames(): array
public function getTraits(): array
public function hasConstant(string `$name`): bool
public function hasMethod(string `$name`): bool
public function hasProperty(string `$name`): bool
public function implementsInterface(ReflectionClass|string `$interface`): bool
public function initializeLazyObject(object `$object`): object
public function inNamespace(): bool
public function isAbstract(): bool
public function isAnonymous(): bool
public function isCloneable(): bool
public function isEnum(): bool
public function isFinal(): bool
public function isInstance(object `$object`): bool
public function isInstantiable(): bool
public function isInterface(): bool
public function isInternal(): bool
public function isIterable(): bool
public function isReadOnly(): bool
public function isSubclassOf(ReflectionClass|string `$class`): bool
public function isTrait(): bool
public function isUninitializedLazyObject(object `$object`): bool
public function isUserDefined(): bool
public function markLazyObjectAsInitialized(object `$object`): object
public function newInstance(mixed `...$args`): object
public function newInstanceArgs(array `$args` = []): ?object
public function newInstanceWithoutConstructor(): object
public function newLazyGhost(callable `$initializer`, int `$options` = 0): object
public function newLazyProxy(callable `$factory`, int `$options` = 0): object
public function resetAsLazyGhost(object `$object`, callable `$initializer`, int `$options` = 0): void
public function resetAsLazyProxy(object `$object`, callable `$factory`, int `$options` = 0): void
public function setStaticPropertyValue(string `$name`, mixed `$value`): void
public function __toString(): string
}

## Свойства

name

  Имя класса. Доступно только для чтения и выбрасывает исключение ReflectionException при попытке записи.

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

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

`ReflectionClass::IS_IMPLICIT_ABSTRACT` int

  Указывает, что класс является абстрактным, потому что он содержит абстрактные методы.

`ReflectionClass::IS_EXPLICIT_ABSTRACT` int

  Указывает, что класс абстрактный, потому что так указали при описании класса.

`ReflectionClass::IS_FINAL` int

  Указывает, что класс окончательный

`ReflectionClass::IS_READONLY` int

  Указывает, что класс является readonly.

`ReflectionClass::SKIP_INITIALIZATION_ON_SERIALIZE` int
  Указывает, что функция serialize() не должна вызывать инициализацию ленивого объекта.
`ReflectionClass::SKIP_DESTRUCTOR` int
  Указывает, что деструктор объекта не должен вызываться при сбросе объекта как ленивого.

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

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

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

- ReflectionClass::__construct — Создаёт объект класса ReflectionClass
- ReflectionClass::export — Экспортирует класс
- ReflectionClass::getAttributes — Получает атрибуты
- ReflectionClass::getConstant — Возвращает определённую константу
- ReflectionClass::getConstants — Возвращает константы
- ReflectionClass::getConstructor — Возвращает конструктор класса
- ReflectionClass::getDefaultProperties — Возвращает свойства по умолчанию
- ReflectionClass::getDocComment — Возвращает doc-блоки комментариев
- ReflectionClass::getEndLine — Возвращает номер последней строки
- ReflectionClass::getExtension — Возвращает объект класса ReflectionExtension для модуля, определяющего класс
- ReflectionClass::getExtensionName — Возвращает имя модуля, определяющее класс
- ReflectionClass::getFileName — Возвращает имя файла, в котором определён класс
- ReflectionClass::getInterfaceNames — Возвращает имена интерфейсов
- ReflectionClass::getInterfaces — Возвращает интерфейсы
- ReflectionClass::getLazyInitializer — Получает ленивый инициализатор
- ReflectionClass::getMethod — Возвращает экземпляр ReflectionMethod для метода класса
- ReflectionClass::getMethods — Возвращает список методов в виде массива
- ReflectionClass::getModifiers — Возвращает информацию о модификаторах класса
- ReflectionClass::getName — Возвращает имя класса
- ReflectionClass::getNamespaceName — Возвращает название пространства имён
- ReflectionClass::getParentClass — Возвращает родительский класс
- ReflectionClass::getProperties — Возвращает свойства
- ReflectionClass::getProperty — Возвращает экземпляр ReflectionProperty для свойства класса
- ReflectionClass::getReflectionConstant — Получает экземпляр класса ReflectionClassConstant для константы класса
- ReflectionClass::getReflectionConstants — Получает константы класса
- ReflectionClass::getShortName — Возвращает короткое имя
- ReflectionClass::getStartLine — Возвращает номер начальной строки
- ReflectionClass::getStaticProperties — Возвращает статические свойства
- ReflectionClass::getStaticPropertyValue — Возвращает значение статического свойства
- ReflectionClass::getTraitAliases — Возвращает массив псевдонимов трейтов
- ReflectionClass::getTraitNames — Возвращает массив имён трейтов, используемых в этом классе
- ReflectionClass::getTraits — Возвращает массив трейтов, внедрённых в класс
- ReflectionClass::hasConstant — Проверяет, определена ли константа
- ReflectionClass::hasMethod — Проверяет, задан ли метод
- ReflectionClass::hasProperty — Проверяет, определено ли свойство
- ReflectionClass::implementsInterface — Проверяет, реализуется ли интерфейс
- ReflectionClass::initializeLazyObject — Принудительно инициализирует ленивый объект
- ReflectionClass::inNamespace — Проверяет, в пространстве ли имён определили класс
- ReflectionClass::isAbstract — Проверяет, абстрактный ли класс
- ReflectionClass::isAnonymous — Проверяет, анонимный ли класс
- ReflectionClass::isCloneable — Проверяет, можно ли клонировать этот класс
- ReflectionClass::isEnum — Проверяет, относится ли класс к перечислениям
- ReflectionClass::isFinal — Проверяет, окончательный ли класс
- ReflectionClass::isInstance — Проверяет, принадлежит ли объект классу
- ReflectionClass::isInstantiable — Проверяет, возможно ли создать экземпляр класса
- ReflectionClass::isInterface — Проверяет, объявили ли класс как интерфейс
- ReflectionClass::isInternal — Проверяет, относится ли класс к внутренним классам модуля или ядра
- ReflectionClass::isIterable — Проверяет, итерируемый ли класс
- ReflectionClass::isIterateable — Псевдоним ReflectionClass::isIterable
- ReflectionClass::isReadOnly — Проверяет, является ли класс доступным только для чтения
- ReflectionClass::isSubclassOf — Проверяет, относится ли класс к подклассу
- ReflectionClass::isTrait — Проверяет, является ли это трейтом
- ReflectionClass::isUninitializedLazyObject — Проверяет, ленив ли и неинициализирован ли объект
- ReflectionClass::isUserDefined — Проверяет, является ли класс пользовательским
- ReflectionClass::markLazyObjectAsInitialized — Помечает ленивый объект как инициализированный без вызова инициализатора или фабрики
- ReflectionClass::newInstance — Создаёт экземпляр класса с переданными аргументами
- ReflectionClass::newInstanceArgs — Создаёт экземпляр класса с переданными параметрами
- ReflectionClass::newInstanceWithoutConstructor — Создаёт новый экземпляр класса без вызова конструктора
- ReflectionClass::newLazyGhost — Создаёт новый экземпляр ленивого призрака
- ReflectionClass::newLazyProxy — Создает новый экземпляр ленивого прокси
- ReflectionClass::resetAsLazyGhost — Сбрасывает и помечает объект ленивым
- ReflectionClass::resetAsLazyProxy — Сбрасывает и помечает объект ленивым
- ReflectionClass::setStaticPropertyValue — Устанавливает значение общедоступного статического свойства
- ReflectionClass::__toString — Возвращает строковое представление объекта класса ReflectionClass

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