php反射应用示例
<?php
function custom(){
}
class custom{
public function index(){
}
}
print_r(get_define_position('custom'));
/**
* /
* @param string $name 函数名或者类名
* @return array
*/
function get_define_position($name){
$info = array();
if(class_exists($name)){
$ob = new ReflectionClass($name);
$info['class_'.$name]= array('file'=>$ob->getFileName(),'line'=>$ob->getStartLine());
}
if(function_exists($name)){
$ob = new ReflectionFunction($name);
$info['function_'.$name]= array('file'=>$ob->getFileName(),'line'=>$ob->getStartLine());
}
return $info;
}
相关推荐
-
PHP 反射(Reflection)使用实例
PHP Reflection是用于获取类.扩展.方法.函数.对象.参数.属性的详细信息. ReflectionClass类获取类相关信息,如获取属性.方法.文档注释等. <?php class Person { /** * For the sake of demonstration, we"re setting this private */ private $_allowDynamicAttributes = false; /** type=primary_autoincrement *
-
PHP类的反射用法实例
本文实例讲述了PHP类的反射用法.分享给大家供大家参考.具体实现方法如下: 该例实现对于每个频道获取相应的类来执行相应的操作.具体如下: 复制代码 代码如下: foreach($this->chs as $ch) { $className = $this->chsMap[$ch]; if($className) { // 如果是合法的类名 // 获取反射类 $class = new ReflectionClass($className); // 获取类的方法 $recd =
-
浅谈PHP的反射机制
1. 介绍 -- PHP5添加了一项新的功能:Reflection.这个功能使得phper可以reverse-engineer class, interface,function,method and extension.通过PHP代码,就可以得到某object的所有信息,并且可以和它交互. -- 反射是什么? 它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类.方法.属性.参数等的详细信息,包括注释.这种动态获取的信息以及动态调用对象的方法的功能称为反射API.反射是操纵面向对象
-
详解php中反射的应用
反射是在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类.方法.属性.参数等的详细信息,包括注释.这种动态获取的信息以及动态调用对象的方法的功能称为反射API.反射是操纵面向对象范型中元模型的API,其功能十分强大,可帮助我们构建复杂,可扩展的应用. 其用途如:自动加载插件,自动生成文档,甚至可用来扩充PHP语言. php反射api由若干类组成,可帮助我们用来访问程序的元数据或者同相关的注释交互.借助反射我们可以获取诸如类实现了那些方法,创建一个类的实例(不同于用new创建),调用一个方
-
实例介绍PHP的Reflection反射机制
PHP5添加了一项新的功能:Reflection.这个功能使得程序员可以reverse-engineer class, interface,function,method and extension.通过PHP代码,就可以得到某object的所有信息,并且可以和它交互. 假设有一个类Person: 复制代码 代码如下: class Person { /** * For the sake of demonstration, we"re setting this private
-
解析php中反射的应用
一 反射的使用: 复制代码 代码如下: <?phpclass Person{ public $name; function __construct($name){ $this->name=$name; }}interface Module{ function execute();}class FtpModule implements Module{ function setHost($host){ print "FtpModule::setHost():$host\n"
-
PHP使用反射机制实现查找类和方法的所在位置
本文实例讲述了PHP使用反射机制实现查找类和方法的所在位置.分享给大家供大家参考,具体如下: //参数1是类名,参数2是方法名 $func = new ReflectionMethod('UnifiedOrder_pub', 'getPrepayId'); //从第几行开始 $start = $func->getStartLine() - 1; //从第几行结束 $end = $func->getEndLine() - 1; //获取路径地址 $filename = $func->get
-
PHP基于反射机制实现插件的可插拔设计详解
本文实例讲述了PHP基于反射机制实现插件的可插拔设计.分享给大家供大家参考,具体如下: 说PHP和ASP等同的朋友们可以就此打住了,PHP支持反射,而且还是非常的强大.好了,我们开始今天的话题. 功能描述: 页面拥有一个主导航菜单,里头有默认连接若干. 插件统一存放在一个目录,插件载入后会自动在导航菜单中增加上自己所需的链接. 插件载入时可执行一定的操作. 动态增删插件无需改动代码. 最终效果: 首页,插件1,插件2 "首页"是系统自带的菜单项."插件1"和&quo
-
PHP 反射机制实现动态代理的代码
演示用代码如下所示: 复制代码 代码如下: <?php class ClassOne { function callClassOne() { print "In Class One"; } } class ClassOneDelegator { private $targets; function __construct() { $this->target[] = new ClassOne(); } function __call($name, $args) { fore
-
PHP反射机制原理与用法详解
本文实例讲述了PHP反射机制原理与用法.分享给大家供大家参考,具体如下: 反射 面向对象编程中对象被赋予了自省的能力,而这个自省的过程就是反射. 反射,直观理解就是根据到达地找到出发地和来源.比如,一个光秃秃的对象,我们可以仅仅通过这个对象就能知道它所属的类.拥有哪些方法. 反射是指在PHP运行状态中,扩展分析PHP程序,导出或提出关于类.方法.属性.参数等的详细信息,包括注释.这种动态获取信息以及动态调用对象方法的功能称为反射API. 如何使用反射API <?php class person{
-
PHP反射机制用法实例
本文实例讲述了PHP反射机制的用法,分享给大家供大家参考之用.具体方法如下: 演示示例代码如下所示: <?php class ClassOne { function callClassOne() { print "In Class One"; } } class ClassOneDelegator { private $targets; function __construct() { $this->target[] = new ClassOne(); } function
-
PHP中的reflection反射机制测试例子
Java类反射应用得非常广泛几乎是所有框架的最核心部分,PHP程序员似乎从不关心反射.尝试着用java的思想去理解php的反射,跟java基本上基本一致.参考了php手册:http://www.php.net/manual/zh/book.reflection.php. ReflectTest.php: <?php class ReflectTest { /** * 用户ID */ private $userId; /** * 用
-
PHP的反射机制实例详解
本文实例讲述了PHP的反射机制.分享给大家供大家参考,具体如下: 介绍: PHP5添加了一项新的功能:Reflection.这个功能使得phper可以reverse-engineer class, interface,function,method and extension.通过PHP代码,就可以得到某object的所有信息,并且可以和它交互. 反射是什么? 它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类.方法.属性.参数等的详细信息,包括注释.这种动态获取的信息以及动态调用
随机推荐
- BootStrap的JS插件之轮播效果案例详解
- Json字符串转换为JS对象的高效方法实例
- linux 中open()函数详解及简单实例
- 自动检测数字替换非数字的正则表达式
- javascript正则表达式模糊匹配IP地址功能示例
- perl 学习资料整理篇第1/4页
- WEB前端设计师常用工具集锦
- 仅用50行Python代码实现一个简单的代理服务器
- MySQL 创建索引(Create Index)的方法和语法结构及例子
- php封装的单文件(图片)上传类完整实例
- 使用asx3m与xstream配合解决flex与java利用httpservice传递xml数据问题
- Python中一些自然语言工具的使用的入门教程
- Jquery升级新版本后选择器的语法问题
- JavaScript函数的调用以及参数传递
- php简单实现快速排序的方法
- java客户端Jedis操作Redis Sentinel 连接池的实现方法
- 深入理解Java反射
- C#通过反射创建自定义泛型
- 浅析Laravel5中队列的配置及使用
- 解决无法在unicode和非unicode字符串数据类型之间转换的方法详解