Reflection 类

(PHP 5, PHP 7, PHP 8)

简介

反射类。

类概要

class Reflection {
/* 方法 */
public static export(Reflector $reflector, bool $return = false): string
public static getModifierNames(int $modifiers): array
}

目录

添加注释

用户贡献的注释 1 个注释

apmithani at yahoo dot com
13 年前
以下是一些刚开始使用反射的人的代码片段。我下面有一个简单的类,它有两个属性和两个方法。我们将使用反射类动态填充属性,然后打印它们

<?php

class A
{
public
$one = '';
public
$two = '';

// 构造函数
public function __construct()
{
// 构造函数
}

// 打印变量 one
public function echoOne()
{
echo
$this->one."\n";
}

// 打印变量 two
public function echoTwo()
{
echo
$this->two."\n";
}
}

// 实例化对象
$a = new A();

// 实例化反射对象
$reflector = new ReflectionClass('A');

// 现在将类 A 中的所有属性获取到 $properties 数组中
$properties = $reflector->getProperties();

$i =1;
// 现在遍历 $properties 数组,并填充每个属性
foreach($properties as $property)
{
// 填充属性
$a->{$property->getName()}=$i;
// 调用方法打印已填充的内容
$a->{"echo".ucfirst($property->getName())}()."\n";

$i++;
}

?>
To Top