PHP:ReflectionClass

 一、简介

反射API的整体类结构如下:

Reflector                                  ;反射接口,反射类需要实现的功能
Reflection                                ;基础反射操作类

ReflectionZendExtension        ;Zend引擎扩展反射类
ReflectionExtension                ;普通扩展反射类

ReflectionFunctionAbstract     ;方法和函数的抽象反射类
ReflectionFunction                  ;函数反射类

ReflectionParameter               ;方法和函数的参数反射类型
ReflectionClass                       ;类反射类
ReflectionObject                      ;对象反射类

ReflectionMethod                    ;类方法反射类
ReflctionProperty                    ;类属性反射类

ReflectionClass                       ;类报告了一个类的有关信息

ReflectionException                ;类继承Exception

二、常用函数

三、例子

<?php
namespace app\abstractfactory\controller;

use ReflectionClass;
use ReflectionException;

class AbstractFactoryTest
{
    public $namespace = '\app\abstractfactory\controller\\';

    public function test()
    {
        $aClassName = $this->namespace . aClass;
        try {
            //$aClassName作为参数,传给ReflectionClass的构造函数
            //在尝试赋值的时候会抛出 ReflectionException
            $a_class = new ReflectionClass($meatClassName);
        
            //实例化类
            $a_Obj = $a_class->newInstance();

        } catch (\ReflectionException $e) {
            return $e->getMessage();
        }
        echo $a_Obj ->buy();
    }
}
posted @ 2019-12-20 18:07  江梦丽  阅读(1349)  评论(0编辑  收藏  举报