PHP:ReflectionClass
一、简介
反射API的整体类结构如下:
Reflector                                  ;反射接口,反射类需要实现的功能
Reflection                                ;基础反射操作类
ReflectionZendExtension        ;Zend引擎扩展反射类
ReflectionExtension                ;普通扩展反射类
ReflectionFunctionAbstract     ;方法和函数的抽象反射类
ReflectionFunction                  ;函数反射类
ReflectionParameter               ;方法和函数的参数反射类型
ReflectionClass                       ;类反射类
ReflectionObject                      ;对象反射类
ReflectionMethod                    ;类方法反射类
ReflctionProperty                    ;类属性反射类
ReflectionClass ;类报告了一个类的有关信息
ReflectionException ;类继承Exception
二、常用函数
- ReflectionClass::__construct — 初始化 ReflectionClass 类
- ReflectionClass::newInstance — 从指定的参数创建一个新的类实例
三、例子
<?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的更多相关文章
- php -- 反射ReflectionClass
		反射类:ReflectionClass 反射就是将其他类的结构给反应出来,从而可以对类的结构进行了解便于对类的使用. ReflectionClass::export(类名); 返回结果为三个数组:常量 ... 
- PHP反射API
		近期忙着写项目,没有学习什么特别新的东西,所以好长时间没有更新博客.我们的项目用的是lumen,是基于laravel的一个轻量级框架,我看到里面用到了一些反射API机制来帮助动态加载需要的类.判断方法 ... 
- PHP MVC自己主动RBAC自己主动生成的访问路由
		使用的关键点: ReflectionClass class Rbac extends MY_Controller { public function index() { $arr = glob( __ ... 
- 详解PHP反射API
		PHP中的反射API就像Java中的java.lang.reflect包一样.它由一系列可以分析属性.方法和类的内置类组成.它在某些方面和对象函数相似,比如get_class_vars(),但是更加灵 ... 
- 反射API提供的常用类和函数
		ReflectionParameter 取回了函数或方法参数的相关信息. {//要自行检查函数的参数,首先创建一个 ReflectionFunction 或 ReflectionMethod 的 实例 ... 
- PHP反射API (转)
		http://www.cnblogs.com/zyf-zhaoyafei/p/4922893.html 近期忙着写项目,没有学习什么特别新的东西,所以好长时间没有更新博客.我们的项目用的是lumen, ... 
- PHP反射API的使用、体会、说明
		最近开发支付宝相关功能的时候,由于支付宝的SDK比较落伍,不支持composer的方式加载,使用三方的composer SDK又觉得不放心 为了简化代码的调用方式,使用PHP的反射类针对支付宝官方SD ... 
- java web 开发三剑客  -------电子书
		Internet,人们通常称为因特网,是当今世界上覆盖面最大和应用最广泛的网络.根据英语构词法,Internet是Inter + net,Inter-作为前缀在英语中表示“在一起,交互”,由此可知In ... 
- 所有selenium相关的库
		通过爬虫 获取 官方文档库 如果想获取 相应的库 修改对应配置即可 代码如下 from urllib.parse import urljoin import requests from lxml im ... 
随机推荐
- jquery disabled选择器 语法
			jquery disabled选择器 语法 作用:disabled 选择器选取所有禁用的表单元素.大理石平台价格表 语法:$(":disabled") jquery disable ... 
- AngularJS基础语法
			1.ng-app 决定了angularjs的作用域范围,你可以如下使用: <html ng-app> … </html> 来让angularjs渲染整个页面,也可以使用 < ... 
- [JZOJ5398]:Adore(状压DP+记忆化搜索)
			题目描述 小$w$偶然间见到了一个$DAG$. 这个$DAG$有$m$层,第一层只有一个源点,最后一层只有一个汇点,剩下的每一层都有$k$个节点. 现在小$w$每次可以取反第$i(1<i< ... 
- 并发编程--Concurrent-工具类介绍
			并发编程--Concurrent-工具类介绍 并发编程--Concurrent-工具类介绍 CountDownLatch CylicBarrier Semaphore Condition 对象监视器下 ... 
- Java中for each与正常for循环效率对比
			循环ArrayList时,普通for循环比foreach循环花费的时间要少一点:循环LinkList时,普通for循环比foreach循环花费的时间要多很多. 当我将循环次数提升到一百万次的时候,循环 ... 
- JAVA_OPT理解及调优理论
			以RocketMQ的namesrv和broker启动为例,理解CMS和G1垃圾收集器下的jdk参数 CMS垃圾收集器 以RocketMQ中runserver.cmd为例,这是启动NameSrv的命令行 ... 
- go GTK msys2
			1 下载安装msys2 MSYS2 (Minimal SYStem 2) 是一个MSYS的独立改写版本,主要用于 shell 命令行开发环境.同时它也是一个在Cygwin (POSIX 兼容性层) 和 ... 
- MySQL 数据库  常用函数
			一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 ... 
- Navicat1_介绍
			https://study.163.com/course/courseMain.htm?courseId=1006383008&share=2&shareId=400000000398 ... 
- 【flask】flask项目配置 app.config
			[理论] 在很多情况下,你需要设置程序的某些行为,这时你就需要使用配置变量.在Flask中,配置变量就是一些大写形式的Python变量, 你也可以称之为配置参数或配置键.使用统一的配置变量可以避免在程 ... 
