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性能优化准备篇图解PEAR安装
Dec 05 PHP
php empty()与isset()区别的详细介绍
Jun 17 PHP
php中的常用魔术方法总结
Aug 02 PHP
用 Composer构建自己的 PHP 框架之构建路由
Oct 30 PHP
WIN8.1下搭建PHP5.6环境
Apr 29 PHP
简单解决新浪SAE无法上传文件的问题
May 13 PHP
PHP实现动态web服务器方法
Jul 29 PHP
详解PHP实现异步调用的4种方法
Mar 14 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
Mar 15 PHP
php中pcntl_fork创建子进程的方法实例
Mar 14 PHP
如何在PHP中使用数组
Jun 09 PHP
php实例化对象的实例方法
Nov 17 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实现mysql数据库连接操作及用户管理
2015/11/08 PHP
PHP仿微信发红包领红包效果
2016/10/30 PHP
实现laravel 插入操作日志到数据库的方法
2019/10/11 PHP
用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
2009/12/27 Javascript
jquery tab插件制作实现代码
2010/06/22 Javascript
分享20多个很棒的jQuery 文件上传插件或教程
2011/09/04 Javascript
Javascript的闭包详解
2014/12/26 Javascript
JavaScript设计模式之原型模式(Object.create与prototype)介绍
2014/12/28 Javascript
jquery实现加载进度条提示效果
2015/11/23 Javascript
详解使用JS如何制作简单的ASCII图与单极图
2017/03/31 Javascript
vue router2.0二级路由的简单使用
2017/07/05 Javascript
jquery ajax异步提交表单数据的方法
2017/10/27 jQuery
vue组件编写之todolist组件实例详解
2018/01/22 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
javascript系统时间设置操作示例
2019/06/17 Javascript
浅谈JavaScript中this的指向问题
2020/07/28 Javascript
[46:21]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python实现多线程抓取妹子图
2015/08/08 Python
Python的MongoDB模块PyMongo操作方法集锦
2016/01/05 Python
Python解析json文件相关知识学习
2016/03/01 Python
python编程嵌套函数实例代码
2018/02/11 Python
python 顺时针打印矩阵的超简洁代码
2018/11/14 Python
python matplotlib画图库学习绘制常用的图
2019/03/19 Python
详解Python3序列赋值、序列解包
2019/05/14 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
django 做 migrate 时 表已存在的处理方法
2019/08/31 Python
如何唤起类中的一个方法
2013/11/29 面试题
毕业生就业推荐信范文
2013/12/01 职场文书
四年级评语大全
2014/04/21 职场文书
政风行风建设责任书
2014/07/23 职场文书
英文演讲稿开场白
2014/08/25 职场文书
2014年入党积极分子学习三中全会思想汇报
2014/09/13 职场文书
医院护士见习期自我鉴定
2014/09/15 职场文书
班主任经验交流心得体会
2015/11/02 职场文书
小学学习委员竞选稿
2015/11/20 职场文书
护理工作心得体会
2016/01/22 职场文书