Класс ReflectionClass

(PHP 5, PHP 7, PHP 8)

Введение

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

Обзор класса

class ReflectionClass implements Reflector {
/* Константы */
public const int IS_IMPLICIT_ABSTRACT;
public const int IS_FINAL;
public const int IS_READONLY;
public const int SKIP_DESTRUCTOR;
/* Свойства */
public string $name;
/* Методы */
public __construct(object|string $objectOrClass)
public static export(mixed $argument, bool $return = false): string
public getAttributes(?string $name = null, int $flags = 0): array
public getConstant(string $name): mixed
public getConstants(?int $filter = null): array
public getEndLine(): int|false
public getMethods(?int $filter = null): array
public getModifiers(): int
public getName(): string
public getProperties(?int $filter = null): array
public getStaticPropertyValue(string $name, mixed &$def_value = ?): mixed
public getTraits(): array
public hasConstant(string $name): bool
public hasMethod(string $name): bool
public hasProperty(string $name): bool
public inNamespace(): bool
public isAbstract(): bool
public isAnonymous(): bool
public isCloneable(): bool
public isEnum(): bool
public isFinal(): bool
public isInstance(object $object): bool
public isInterface(): bool
public isInternal(): bool
public isIterable(): bool
public isReadOnly(): bool
public isTrait(): bool
public newInstance(mixed ...$args): object
public newInstanceArgs(array $args = []): ?object
public newLazyGhost(callable $initializer, int $options = 0): object
public newLazyProxy(callable $factory, int $options = 0): object
public resetAsLazyGhost(object $object, callable $initializer, int $options = 0): void
public resetAsLazyProxy(object $object, callable $factory, int $options = 0): void
public setStaticPropertyValue(string $name, mixed $value): void
public __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() был удалён.

Содержание