PHP ReflectionClass

 1 <?php
 2 /**
 3  * @desc test reflectionclass
 4  * @author songweiqing
 5  * @create_time 2015-01-7
 6  *
 7  */
 8  class Test{
 9     public $attr1 = ‘attr1‘;
10     protected $attr2 = ‘attr2‘;
11     private $attr3 = ‘attr3‘;
12     const ATTR4 = ‘I AM THE ATTRIBUTE 4‘;
13     public static $attr5 = ‘attr5‘;
14
15     public function __construct(){
16
17         self::$attr5 = ‘I love you baby‘;
18     }
19     public function getAttr1(){
20
21         echo $this->attr1;
22     }
23     //获取属性2
24     protected function getAttr2(){
25
26         echo $this->attr2;
27     }
28     /**
29      * @desc 获取属性3
30      * @return string
31      */
32     private function getAttr3(){
33         echo $this->attr3;
34     }
35
36     public static function getAttr5(){
37         echo self::$attr5;
38     }
39 }
40
41 $reflection = new ReflectionClass(‘Test‘);
42 //var_dump($reflection->getName());//获取类名getName();
43 //var_dump($reflection->getConstant("ATTR4"));//获取指定的常量名
44 //var_dump($reflection->getConstants());//获取一组常量名
45 //var_dump($reflection->getConstructor());//获取构造函数,没有构造函数返回null
46 //var_dump($reflection->getDefaultProperties());//获取默认属性,常量属性不包括
47 //var_dump($reflection->getDocComment());//获取针对该类的注释,对于类中法中的注释,忽略,没有返回false
48 //var_dump($reflection->getEndLine());//获取类中最后一行行数
49 //var_dump($reflection->getFileName());//获取定义类的类名
50 //var_dump($reflection->getMethods());//获取所有类中的方法
51 //var_dump($reflection->getProperties());//获取所有属性,不包含常量属性
52 //$instance = $reflection->newInstanceArgs();//实例化反射的该类
53 //$instance = $reflection->newInstance(‘Test‘);实例化指定的类

时间: 2024-08-02 14:11:18

PHP ReflectionClass的相关文章

PHP 反射 ReflectionClass

今天遇到了这样一个问题,如下代码: classA.php <?php class ClassA{ public function funcAa(){ } public function funcAb(){ } public function funcAc(){ } } ?> classB.php <?php include './classA.php'; class ClassB extends ClassA{ public function funcBa(){ } public fun

PHP反射ReflectionClass、ReflectionMethod 学习笔记 (一)

PHP5 具有完整的反射API,添加对类.接口.函数.方法和扩展进行反向工程的能力. 反射是什么? 它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类.方法.属性.参数等的详细信息,包括注释.这种动态获取的信息以及动态调用对 象的方法的功能称为反射API.反射是操纵面向对象范型中元模型的API,其功能十分强大,可帮助我们构建复杂,可扩展的应用. 其用途如:自动加载插件,自动生成文档,甚至可用来扩充PHP语言. PHP反射api由若干类组成,可帮助我们用来访问程序的元数据或者同相关的

PHP反射ReflectionClass、ReflectionMethod 入门教程

PHP反射ReflectionClass.ReflectionMethod 入门教程 http://blog.snsgou.com/post-42.html PHP5 具有完整的反射API,添加对类.接口.函数.方法和扩展进行反向工程的能力. 反射是什么? 它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类.方法.属性.参数等的详细信息,包括注释.这种动态获取的信息以及动态调用对 象的方法的功能称为反射API.反射是操纵面向对象范型中元模型的API,其功能十分强大,可帮助我们构建复

PHP的反射类ReflectionClass、ReflectionMethod使用实例

PHP5 具有完整的反射API,添加对类.接口.函数.方法和扩展进行反向工程的能力. 反射是什么? 它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类.方法.属性.参数等的详细信息,包括注释.这种动态获取的信息以及动态调用对象的方法的功能称为反射API.反射是操纵面向对象范型中元模型的API,其功能十分强大,可帮助我们构建复杂,可扩展的应用. 其用途如:自动加载插件,自动生成文档,甚至可用来扩充PHP语言. PHP反射api由若干类组成,可帮助我们用来访问程序的元数据或者同相关的注

PHP反射(ReflectionClass、ReflectionMethod)在ThinkPHP框架的控制器调度模块中的应用

ThinkPHP框架的控制器模块是如何实现 前控制器.后控制器,及如何执行带参数的方法? PHP系统自带的 ReflectionClass.ReflectionMethod 类,可以反射用户自定义类的中属性,方法的权限和参数等信息,通过这些信息可以准确的控制方法的执行. ReflectionClass:  [PHP手册]详情 主要用的方法: hasMethod(string)  是否存在某个方法 getMethod(string)  获取方法 ReflectionMethod:  [PHP手册]

php反射类 ReflectionClass

什么是php反射类,顾名思义,能够理解为一个类的映射.举个样例: class fuc {        //定义一个类static function ec() {echo '我是一个类';}}$class=new ReflectionClass('fuc');    //建立 fuc这个类的反射类 echo $class; //输出这反射类 Class [ class A ] { @@ F:\phpweb\myPHP\test.php 23-30 - Constants [0] { } - St

PHP反射ReflectionClass、ReflectionMethod

PHP5 具有完整的反射API,添加对类.接口.函数.方法和扩展进行反向工程的能力. 反射是什么? 它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类.方法.属性.参数等的详细信息,包括注释.这种动态获取的信息以及动态调用对象的方法的功能称为反射API.反射是操纵面向对象范型中元模型的API,其功能十分强大,可帮助我们构建复杂,可扩展的应用. 其用途如:自动加载插件,自动生成文档,甚至可用来扩充PHP语言. PHP反射api由若干类组成,可帮助我们用来访问程序的元数据或者同相关的注

PHP反射ReflectionClass、ReflectionMethod 入门教程 - PHP博客|PHP开发|Linux运维|服务器架构|钱途无梁

PHP5 具有完整的反射API,添加对类.接口.函数.方法和扩展进行反向工程的能力. 反射是什么? 它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类.方法.属性.参数等的详细信息,包括注释.这种动态获取的信息以及动态调用对象的方法的功能称为反射API.反射是操纵面向对象范型中元模型的API,其功能十分强大,可帮助我们构建复杂,可扩展的应用. 其用途如:自动加载插件,自动生成文档,甚至可用来扩充PHP语言. PHP反射api由若干类组成,可帮助我们用来访问程序的元数据或者同相关的注

php -- 反射ReflectionClass

反射类:ReflectionClass 反射就是将其他类的结构给反应出来,从而可以对类的结构进行了解便于对类的使用. ReflectionClass::export(类名); 返回结果为三个数组:常量数组,方法数组,属性数组 $rc = new ReflectionClass(类名); $rc->getConstants(); 返回常量数组 $rc = new ReflectionClass(类名); $rc->getMethods(); 返回方法数组 $rc = new Reflection