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 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 getDefaultProperties(): array
public function getDocComment(): string|false
public function getEndLine(): int|false
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 getProperties(?int $filter = null): array
public function getProperty(string $name): ReflectionProperty
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 &$def_value = ?): 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 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

表示该类是 abstract,因为有一些抽象方法。

ReflectionClass::IS_EXPLICIT_ABSTRACT int

表示该类是 abstract,因为已明确定义。

ReflectionClass::IS_FINAL int

表示该类是 final

ReflectionClass::IS_READONLY int

表示该类是 readonly

ReflectionClass::SKIP_INITIALIZATION_ON_SERIALIZE int
表示 serialize() 不应触发延迟对象的初始化。
ReflectionClass::SKIP_DESTRUCTOR int
表示将对象重置为延迟时不应调用对象析构方法。

更新日志

版本 说明
8.4.0 所有类常量现已类型化。
8.0.0 移除 ReflectionClass::export()

目录