PHP使用反射机制实现查找类和方法的所在位置


Posted in PHP onApril 22, 2016

本文实例讲述了PHP使用反射机制实现查找类和方法的所在位置。分享给大家供大家参考,具体如下:

//参数1是类名,参数2是方法名
$func = new ReflectionMethod('UnifiedOrder_pub', 'getPrepayId');
//从第几行开始
$start = $func->getStartLine() - 1;
//从第几行结束
$end = $func->getEndLine() - 1;
//获取路径地址
$filename = $func->getFileName();

下面是摘抄的示例代码比较全面

<?php
function a() {
}
class b {
  public function f() {
  }
}
function function_dump($funcname) {
  try {
    if(is_array($funcname)) {
      $func = new ReflectionMethod($funcname[0], $funcname[1]);
      $funcname = $funcname[1];
    } else {
      //这个应该是当只有一个参数的时候就看做是本类的发放吧,大概,自行百度
      $func = new ReflectionFunction($funcname);
    }
  } catch (ReflectionException $e) {
    echo $e->getMessage();
    return;
  }
  $start = $func->getStartLine() - 1;
  $end = $func->getEndLine() - 1;
  $filename = $func->getFileName();
  echo "function $funcname defined by $filename($start - $end)\n";
}
function_dump('a');
function_dump(array('b', 'f'));
$b = new b();
function_dump(array($b, 'f'));
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP小程序自动提交到自助友情连接
Nov 24 PHP
php自动获取目录下的模板的代码
Aug 08 PHP
解析PayPal支付接口的PHP开发方式
Nov 28 PHP
php短域名转换为实际域名函数
Jan 17 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
Jul 03 PHP
PHP的变量类型和作用域详解
Mar 12 PHP
php去除字符串中空字符的常用方法小结
Mar 17 PHP
PHP中的类型约束介绍
May 11 PHP
laravel创建类似ThinPHP中functions.php的全局函数
Nov 26 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
Feb 28 PHP
Laravel 队列使用的实现
Jan 08 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 PHP
浅析Yii2中GridView常见操作
Apr 22 #PHP
php简单实现sql防注入的方法
Apr 22 #PHP
PHP简单获取及判断提交来源的方法
Apr 22 #PHP
thinkPHP3.1验证码的简单实现方法
Apr 22 #PHP
thinkPHP实现将excel导入到数据库中的方法
Apr 22 #PHP
利用php输出不同的心形图案
Apr 22 #PHP
php生成酷炫的四个字符验证码
Apr 22 #PHP
You might like
PHP 正则表达式小结
2015/02/12 PHP
php实现对象克隆的方法
2015/06/20 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
PHP基于自增数据如何生成不重复的随机数示例
2017/05/19 PHP
PHP 计算两个特别大的整数实例代码
2018/05/07 PHP
javascript 有用的脚本函数
2009/05/07 Javascript
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
关于jQuery UI 使用心得及技巧
2012/10/10 Javascript
完善的jquery处理机制
2016/02/21 Javascript
jQuery+formdata实现上传进度特效遇到的问题
2016/02/24 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
2016/08/24 Javascript
Javascript动画效果(2)
2016/10/11 Javascript
angular forEach方法遍历源码解读
2017/01/25 Javascript
Bootstrap里的文件分别代表什么意思及其引用方法
2017/05/01 Javascript
微信小程序使用progress组件实现显示进度功能【附源码下载】
2017/12/12 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
2018/11/30 Javascript
JavaScript实现数字前补“0”的五种方法示例
2019/01/03 Javascript
微信小程序 行的删除和增加操作实现详解
2019/09/29 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
2020/01/05 Javascript
微信小程序实现打卡签到页面
2020/09/21 Javascript
Python通过命令开启http.server服务器的方法
2017/11/04 Python
Python实现KNN邻近算法
2021/01/28 Python
python 接收处理外带的参数方法
2018/12/03 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
keras实现VGG16 CIFAR10数据集方式
2020/07/07 Python
python实现学生通讯录管理系统
2021/02/25 Python
NUK奶瓶美国官网:NUK美国
2016/09/26 全球购物
美国巧克力喷泉品牌:Sephra
2019/05/05 全球购物
澳大利亚二手奢侈品网站:Modsie
2019/09/23 全球购物
旅游业大学生创业计划书
2014/01/31 职场文书
餐饮总经理岗位职责
2014/03/07 职场文书
建设投标担保书
2014/05/13 职场文书
教您:房贷工资收入证明应该怎么写?
2019/08/19 职场文书
Python中快速掌握Data Frame的常用操作
2021/03/31 Python
教你怎么用Python监控愉客行车程
2021/04/29 Python
Python数据可视化之基于pyecharts实现的地理图表的绘制
2021/06/10 Python