# 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 `&$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 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

  表示该类是 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()。

## 目录

- ReflectionClass::__construct — 初始化 ReflectionClass 类
- ReflectionClass::export — 导出类
- ReflectionClass::getAttributes — 获取所有属性
- ReflectionClass::getConstant — 获取已定义的常量
- ReflectionClass::getConstants — 获取常量
- ReflectionClass::getConstructor — 获取类的构造函数
- ReflectionClass::getDefaultProperties — 获取默认属性
- ReflectionClass::getDocComment — 获取文档注释
- ReflectionClass::getEndLine — 获取最后一行的行数
- ReflectionClass::getExtension — 根据已定义的类获取所在扩展的 ReflectionExtension 对象
- ReflectionClass::getExtensionName — 获取定义的类所在的扩展的名称
- ReflectionClass::getFileName — 获取定义类的文件名
- ReflectionClass::getInterfaceNames — 获取接口（interface）名称
- ReflectionClass::getInterfaces — 获取接口
- ReflectionClass::getLazyInitializer — Gets lazy initializer
- ReflectionClass::getMethod — 获取类方法的 ReflectionMethod
- ReflectionClass::getMethods — 获取方法的数组
- ReflectionClass::getModifiers — 获取类的修饰符
- ReflectionClass::getName — 获取类名
- ReflectionClass::getNamespaceName — 获取命名空间的名称
- ReflectionClass::getParentClass — 获取父类
- ReflectionClass::getProperties — 获取属性
- ReflectionClass::getProperty — 获取类的一个属性的 ReflectionProperty
- ReflectionClass::getReflectionConstant — Gets a ReflectionClassConstant for a class's constant
- ReflectionClass::getReflectionConstants — Gets class constants
- ReflectionClass::getShortName — 获取短名
- ReflectionClass::getStartLine — 获取起始行号
- ReflectionClass::getStaticProperties — 获取静态（static）属性
- ReflectionClass::getStaticPropertyValue — 获取静态（static）属性的值
- ReflectionClass::getTraitAliases — 返回 trait 别名数组
- ReflectionClass::getTraitNames — 返回这个类所使用 traits 的名称的数组
- ReflectionClass::getTraits — 返回这个类所使用的 traits 数组
- ReflectionClass::hasConstant — 检查常量是否已经定义
- ReflectionClass::hasMethod — 检查方法是否已定义
- ReflectionClass::hasProperty — 检查属性是否已定义
- ReflectionClass::implementsInterface — 实现接口
- ReflectionClass::initializeLazyObject — Forces initialization of a lazy object
- ReflectionClass::inNamespace — 检查是否位于命名空间中
- ReflectionClass::isAbstract — 检查类是否是抽象类（abstract）
- ReflectionClass::isAnonymous — 检查类是否是匿名类
- ReflectionClass::isCloneable — 返回了一个类是否可复制
- ReflectionClass::isEnum — Returns whether this is an enum
- ReflectionClass::isFinal — 检查类是否声明为 final
- ReflectionClass::isInstance — 检查类的实例
- ReflectionClass::isInstantiable — 检查类是否可实例化
- ReflectionClass::isInterface — 检查类是否是接口（interface）
- ReflectionClass::isInternal — 检查类是否由扩展或核心在内部定义
- ReflectionClass::isIterable — Check whether this class is iterable
- ReflectionClass::isIterateable — 别名 ReflectionClass::isIterable
- ReflectionClass::isReadOnly — Checks if class is readonly
- ReflectionClass::isSubclassOf — 检查是否为子类
- ReflectionClass::isTrait — 返回了是否是 trait
- ReflectionClass::isUninitializedLazyObject — Checks if an object is lazy and uninitialized
- ReflectionClass::isUserDefined — 检查是否由用户定义的
- ReflectionClass::markLazyObjectAsInitialized — Marks a lazy object as initialized without calling the initializer or factory
- ReflectionClass::newInstance — 从指定的参数创建新类实例
- ReflectionClass::newInstanceArgs — 从给出的参数创建一个新的类实例
- ReflectionClass::newInstanceWithoutConstructor — 创建新的类实例而不调用它的构造函数
- ReflectionClass::newLazyGhost — Creates a new lazy ghost instance
- ReflectionClass::newLazyProxy — Creates a new lazy proxy instance
- ReflectionClass::resetAsLazyGhost — Resets an object and marks it as lazy
- ReflectionClass::resetAsLazyProxy — Resets an object and marks it as lazy
- ReflectionClass::setStaticPropertyValue — 设置 public static 属性的值
- ReflectionClass::__toString — 返回 ReflectionClass 对象字符串的表示形式

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