PHP 开发者大会 日本 2024

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

<?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