`

php反射api基础

 
阅读更多

//反射API的demo

 

    class product{

    }

 

    class shoe extends product{

        public $a;

        private $b;

 

        function demo(){

            echo __FILE__;

        }

    }

 

    $shoeObj = new shoe();

    $refObj = new ReflectionClass('shoe'); //通过“ReflectionClass”实例化 某个类的反射类 的“对象”

    Reflection::export($refObj);                 //通过“Reflection”类的export静态方法获取某个类的具体数据

 

    $className  = $refObj->getName();        //获取被反射的类的名字

    $beObj           = $refObj->isInstantiable(); //某个类是否能被实例化

    $theObj          = $refObj->newInstance();    //实例化某个类

    $isUserDefined = $refObj->isUserDefined();  //是否用户定义的类

    $isInternal    = $refObj->isInternal();     //是否内置的类

    $fileName      = $refObj->getFileName();    //返回某个类的绝对路径,包括文件名

    $lineStart     = $refObj->getStartLine();   //获取类在文件中开始的行数

    $lineEnd       = $refObj->getEndLine();     //获取类在文件中结束的行数

 

    //获取类的源代码

    class ReflectionUtil{

        //获取某个类的源代码

        static public function getClassSource( ReflectionClass $refObj ){

            $fileName   = $refObj->getFileName();

            $lines      = @file( $fileName );  //将文件内容读取到数组中,一行一个元素,file_get_contents将内容读取到一个字符串中

            $startLine  = $refObj->getStartLine();

            $endLine    = $refObj->getEndLine();

            $len        = $endLine - $startLine +1;

            $sourceCode =  array_slice( $lines, $startLine-1, $len );

            return ($sourceCode);

        }

    }

    $sourceCode    = ReflectionUtil::getClassSource($refObj);

 

分享到:
评论

相关推荐

    php反射api.pdf

    PHP ReflectionClass Api

    PHP面向对象程序设计之类与反射API详解共5页.pdf

    PHP面向对象程序设计之类与反射API详解共5页.pdf.zip

    PHP反射API示例分享

    本文实例为大家分享了 PHP反射API–利用反射技术实现的插件系统架构,供大家参考,具体内容如下 <?php /** * @name PHP反射API--利用反射技术实现的插件系统架构 */ /** * 先调用findPlugins方法获取到获取到...

    浅谈PHP的反射API

    PHP的反射API,即在PHP运行状态下,通过分析PHP程序,可以导出对象所属的类,方法,属性,参数等信息。 如何使用反射API 示例代码 Person.php Person类,包含一个成员变量和三个成员方法 获取$student对象的方法和...

    反射获得api注解

    该方法可以利用beanUtils工具生成的两个Object对象,通过参数传入,判断两个对象那些字段发生变化,方便日志记录。

    PHP反射使用实例和PHP反射API的中文说明

    主要介绍了PHP反射使用实例和PHP反射API的中文说明,重点在对PHP的反射API中每个方法都做了中文说明,需要的朋友可以参考下

    php-static-reflection:静态反射API

    反射API的实现,用于解析PHP源文件。 这允许反射而无需加载类。 由于PHP无法卸载类,因此当您需要检查类但无需加载类(例如提取元数据)时,这对于减少内存占用非常有用。 以下是在drupal 8测试类上将“反射”与...

    php利用反射实现插件机制的方法

     * @name PHP反射API–利用反射技术实现的插件系统架构  */  interface Iplugin{   public static function getName();  }  function findPlugins(){   $plugins = array();   foreach (get_declared_...

    BetterReflection:更好的反射是一种反射API,旨在改善和提供比PHP内置反射API更多的功能

    更好的体现是一种反射API,旨在改善和提供更多的功能比PHP的内置 。 为什么会更好? 您可以考虑尚未加载的类,而无需加载它们 能够直接从一串PHP代码反映出类 Better Reflection分析DocBlocks(使用 ) 直接反映...

    PHP面向对象程序设计之类与反射API详解

    主要介绍了PHP面向对象程序设计之类与反射API,结合实例形式较为详细的分析了类的验证、检查、传参及反射API等概念与操作技巧,需要的朋友可以参考下

    Thinkphp3.2.3通用后台+API接口设计

    2.项目集成php反射自动生成API文档,通过访问http://你的IP或者域名/文件地址/tpcs/index.php/Api/Doc/index.html即可。 3.数据库文件放于public目录下面,导入自己数据库修改common目录下的config数据库配置即可...

    PHP反射机制原理与用法详解

    本文实例讲述了PHP反射机制原理与用法。分享给大家供大家参考,具体如下: 反射 面向对象编程中对象被赋予了自省的能力,而这个自省的过程就是反射。 反射,直观理解就是根据到达地找到出发地和来源。比如,一个...

    PHP进阶学习之反射基本概念与用法分析

    PHP反射可以用于观察并修改程序在运行时的行为。一个面向反射的(reflection-oriented)程序组件可以监测一个范围内的代码执行情况,可以根据期望的目标与此相关的范围修改本身。PHP5具有完整的反射API,添加了对类...

    php反射方法调用执行类中的私有方法.zip

    介绍一篇关于PHP通过反射方法调用执行类中的私有方法,希望这篇教程能够帮助到各位朋友,有兴趣的可以进来看看。具有完整的反射 API,添加了对类、接口、函数、方法和扩展进行反向工程的能力。

    filereflection:使用缺少的 ReflectionFile 类补充 PHP 反射 API

    思维游戏/文件反射 这个库通过缺少的 ReflectionFile 类补充了 PHP 。 其他一些库已经可以做到这一点,但是这个库实现了我能找到的其他实现中缺少的一个重要功能:根据解析本地类型名称。 界面非常简单: ...

Global site tag (gtag.js) - Google Analytics