一、简介

反射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();
}
}

PHP:ReflectionClass的更多相关文章

  1. php -- 反射ReflectionClass

    反射类:ReflectionClass 反射就是将其他类的结构给反应出来,从而可以对类的结构进行了解便于对类的使用. ReflectionClass::export(类名); 返回结果为三个数组:常量 ...

  2. PHP反射API

    近期忙着写项目,没有学习什么特别新的东西,所以好长时间没有更新博客.我们的项目用的是lumen,是基于laravel的一个轻量级框架,我看到里面用到了一些反射API机制来帮助动态加载需要的类.判断方法 ...

  3. PHP MVC自己主动RBAC自己主动生成的访问路由

    使用的关键点: ReflectionClass class Rbac extends MY_Controller { public function index() { $arr = glob( __ ...

  4. 详解PHP反射API

    PHP中的反射API就像Java中的java.lang.reflect包一样.它由一系列可以分析属性.方法和类的内置类组成.它在某些方面和对象函数相似,比如get_class_vars(),但是更加灵 ...

  5. 反射API提供的常用类和函数

    ReflectionParameter 取回了函数或方法参数的相关信息. {//要自行检查函数的参数,首先创建一个 ReflectionFunction 或 ReflectionMethod 的 实例 ...

  6. PHP反射API (转)

    http://www.cnblogs.com/zyf-zhaoyafei/p/4922893.html 近期忙着写项目,没有学习什么特别新的东西,所以好长时间没有更新博客.我们的项目用的是lumen, ...

  7. PHP反射API的使用、体会、说明

    最近开发支付宝相关功能的时候,由于支付宝的SDK比较落伍,不支持composer的方式加载,使用三方的composer SDK又觉得不放心 为了简化代码的调用方式,使用PHP的反射类针对支付宝官方SD ...

  8. java web 开发三剑客 -------电子书

    Internet,人们通常称为因特网,是当今世界上覆盖面最大和应用最广泛的网络.根据英语构词法,Internet是Inter + net,Inter-作为前缀在英语中表示“在一起,交互”,由此可知In ...

  9. 所有selenium相关的库

    通过爬虫 获取 官方文档库 如果想获取 相应的库 修改对应配置即可 代码如下 from urllib.parse import urljoin import requests from lxml im ...

随机推荐

  1. gulp[13124]: c:\ws\src\node_contextify.cc:626: Assertion `args[1]->IsString()' failed

    在执行gulp sass时报下面错误,又或者执行ionic serve时报这个错,选择低一点版本的node,建议8v; gulp[13124]: c:\ws\src\node_contextify.c ...

  2. 暑假集训#2 div1 J 四点直角 J - Space Invader 四点共面+跨立实验

    题意:给你四个点,判断能否先依次通过A,B两点,然后再在某个地方只进行一次直角转弯再一次经过C,D两点: #include <iostream> #include <cstdio&g ...

  3. Springboot 默认静态路径

    springboot 默认静态路径 代码如下所示 类ResourceProperties.class private static final String[] CLASSPATH_RESOURCE_ ...

  4. Thread的setDaemon(true)方法的作用

    定义:守护线程--也称“服务线程”,在没有用户线程可服务时会自动离开.优先级:守护线程的优先级比较低,用于为系统中的其它对象和线程提供服务.设置:通过setDaemon(true)来设置线程为“守护线 ...

  5. Python3.X Selenium 自动化测试中如何截图并保存成功

    在selenium for python中主要有三个截图方法,我们挑选其中最常用的一种. 挑最常用的:get_screenshot_as_file() 相关代码如下:(下面的代码可直接复制) # co ...

  6. 「HAOI 2018」染色

    题目链接 戳我 \(Solution\) 观察题目发现恰好出现了\(s\)次的颜色有\(k\)种,不太好弄. 所以我们设\(a[i]\)表示为恰好出现了\(s\)次的颜色有至少\(i\)种的方案数,然 ...

  7. [python]python中**是什么

    作为运算符时 ** 在python里面表示幂运算 传递实参和定义形参(所谓实参就是调用函数时传入的参数,形参则是定义函数是定义的参数)的时候,你还可以使用两个特殊的语法:``*`` ** . 调用函数 ...

  8. Linux上Redis安装和简单操作

    Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...

  9. heigth innerheigt outerheight详解

    height() :height innerHeight(): height + paddingouterHeight(): height + padding + border outerHeight ...

  10. [Java]使用正则表达式实现分词

    手工分词稍嫌麻烦,不好维护,而利用正则表达式就利索多了.Java提供了java.util.regex.Matcher,java.util.regex.Pattern类来帮助我们实现此功能. 例一:以下 ...