//反射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 ReflectionClass Api
PHP面向对象程序设计之类与反射API详解共5页.pdf.zip
本文实例为大家分享了 PHP反射API–利用反射技术实现的插件系统架构,供大家参考,具体内容如下 <?php /** * @name PHP反射API--利用反射技术实现的插件系统架构 */ /** * 先调用findPlugins方法获取到获取到...
PHP的反射API,即在PHP运行状态下,通过分析PHP程序,可以导出对象所属的类,方法,属性,参数等信息。 如何使用反射API 示例代码 Person.php Person类,包含一个成员变量和三个成员方法 获取$student对象的方法和...
该方法可以利用beanUtils工具生成的两个Object对象,通过参数传入,判断两个对象那些字段发生变化,方便日志记录。
主要介绍了PHP反射使用实例和PHP反射API的中文说明,重点在对PHP的反射API中每个方法都做了中文说明,需要的朋友可以参考下
反射API的实现,用于解析PHP源文件。 这允许反射而无需加载类。 由于PHP无法卸载类,因此当您需要检查类但无需加载类(例如提取元数据)时,这对于减少内存占用非常有用。 以下是在drupal 8测试类上将“反射”与...
* @name PHP反射API–利用反射技术实现的插件系统架构 */ interface Iplugin{ public static function getName(); } function findPlugins(){ $plugins = array(); foreach (get_declared_...
更好的体现是一种反射API,旨在改善和提供更多的功能比PHP的内置 。 为什么会更好? 您可以考虑尚未加载的类,而无需加载它们 能够直接从一串PHP代码反映出类 Better Reflection分析DocBlocks(使用 ) 直接反映...
主要介绍了PHP面向对象程序设计之类与反射API,结合实例形式较为详细的分析了类的验证、检查、传参及反射API等概念与操作技巧,需要的朋友可以参考下
2.项目集成php反射自动生成API文档,通过访问http://你的IP或者域名/文件地址/tpcs/index.php/Api/Doc/index.html即可。 3.数据库文件放于public目录下面,导入自己数据库修改common目录下的config数据库配置即可...
本文实例讲述了PHP反射机制原理与用法。分享给大家供大家参考,具体如下: 反射 面向对象编程中对象被赋予了自省的能力,而这个自省的过程就是反射。 反射,直观理解就是根据到达地找到出发地和来源。比如,一个...
PHP反射可以用于观察并修改程序在运行时的行为。一个面向反射的(reflection-oriented)程序组件可以监测一个范围内的代码执行情况,可以根据期望的目标与此相关的范围修改本身。PHP5具有完整的反射API,添加了对类...
介绍一篇关于PHP通过反射方法调用执行类中的私有方法,希望这篇教程能够帮助到各位朋友,有兴趣的可以进来看看。具有完整的反射 API,添加了对类、接口、函数、方法和扩展进行反向工程的能力。
思维游戏/文件反射 这个库通过缺少的 ReflectionFile 类补充了 PHP 。 其他一些库已经可以做到这一点,但是这个库实现了我能找到的其他实现中缺少的一个重要功能:根据解析本地类型名称。 界面非常简单: ...