`

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反射API详解 #### 一、概述 **PHP反射API**是一种强大的工具,它允许开发者在运行时分析和操作程序中的类、方法、属性、参数等元素。反射API不仅能够帮助开发者深入了解程序结构,还能在某些场景下实现动态...

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

    反射API提供了一种动态获取和操作PHP代码结构的方式,这在编写元编程或复杂组件时非常有用。 类是面向对象的基础,它定义了一组属性(成员变量)和方法(成员函数)。在PHP中,你可以使用`class`关键字来声明一个类...

    php 反射简单例子

    1. PHP反射基础 反射API是PHP内建的一组类,它提供了对类、接口、函数、方法和常量等对象的元数据访问。这些类包括`\ReflectionClass`、`\ReflectionFunction`、`\ReflectionMethod`等,它们分别用于获取关于类、...

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

    这些类和接口构成了PHP反射API的基础: 1. Reflection类:它是反射API的核心,可以导出或者提取关于类、方法、属性、参数等的详细信息,包括注释。它的用途包括分析PHP程序,获取关于类、方法、属性和参数等的信息...

    PHP反射API示例分享

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

    浅谈PHP的反射API

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

    反射获得api注解

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

    php-static-reflection:静态反射API

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

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

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

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

    首先,我们需要了解PHP中的反射API(Reflection API)。它提供了`ReflectionClass`、`ReflectionMethod`等类,用于获取关于类、方法等的信息。在上述实例中,我们看到`ReflectionClass`被用来检查一个类是否实现了...

    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,添加了对类、接口、函数、方法和扩展进行反向工程的能力。

Global site tag (gtag.js) - Google Analytics