这是一段代码片段,供我们这些刚开始学习反射的人使用。下面我有一个简单的类,其中包含两个属性和两个方法。我们将使用反射类动态填充属性,然后打印它们。
<?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++;
}
?>