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