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 相关文章推荐
jq的get传参数在utf-8中乱码问题的解决php版
Jul 23 PHP
php在多维数组中根据键名快速查询其父键以及父键值的代码
May 07 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
Jun 18 PHP
PHP $_FILES中error返回值详解
Jan 30 PHP
getimagesize获取图片尺寸实例
Nov 15 PHP
Symfony2之session与cookie用法小结
Mar 18 PHP
功能强大的PHP POST提交数据类
Jul 15 PHP
php操作路径的经典方法(必看篇)
Oct 04 PHP
CI框架数据库查询缓存优化的方法
Nov 21 PHP
PHP中SQL查询语句的id=%d解释(推荐)
Dec 10 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
May 05 PHP
使用Laravel中的查询构造器实现增删改查功能
Sep 03 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中文分词 自动获取关键词介绍
2012/11/13 PHP
php截取字符串函数分享
2015/02/02 PHP
php获取今日开始时间和结束时间的方法
2017/02/27 PHP
javascript入门·图片对象(无刷新变换图片)\滚动图像
2007/10/01 Javascript
javascript 折半查找字符在数组中的位置(有序列表)
2010/12/09 Javascript
juqery 学习之五 文档处理 插入
2011/02/11 Javascript
JS代码优化技巧之通俗版(减少js体积)
2011/12/23 Javascript
说说JSON和JSONP 也许你会豁然开朗
2012/09/02 Javascript
js动态创建上传表单通过iframe模拟Ajax实现无刷新
2014/02/20 Javascript
Node.js connect ECONNREFUSED错误解决办法
2016/09/15 Javascript
Vue脚手架的简单使用实例
2018/07/10 Javascript
js中的this的指向问题详解
2019/08/29 Javascript
JavaScript中的惰性载入函数及优势
2020/02/18 Javascript
VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)
2020/04/03 Javascript
解决node终端下运行js文件不支持ES6语法
2020/04/04 Javascript
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS OG
2018/03/30 DOTA
Python判断直线和矩形是否相交的方法
2015/07/14 Python
浅谈Python对内存的使用(深浅拷贝)
2018/01/17 Python
使用python编写监听端
2018/04/12 Python
对python 匹配字符串开头和结尾的方法详解
2018/10/27 Python
Python根据当前日期取去年同星期日期
2019/04/14 Python
使用celery执行Django串行异步任务的方法步骤
2019/06/06 Python
Python的形参和实参使用方式
2019/12/24 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
2020/03/06 Python
django xadmin 管理器常用显示设置方式
2020/03/11 Python
Django后端按照日期查询的方法教程
2021/02/28 Python
美国休闲服装品牌:Express
2016/09/24 全球购物
百度吧主申请感言
2014/01/12 职场文书
建筑设计学生的自我评价
2014/01/16 职场文书
红旗方阵解说词
2014/02/12 职场文书
乒乓球兴趣小组活动总结
2014/07/08 职场文书
2014年党员评议表自我评价
2014/09/27 职场文书
2014年旅游局法制宣传日活动总结
2014/11/01 职场文书
创业开店,这样方式更合理
2019/08/26 职场文书
Python djanjo之csrf防跨站攻击实验过程
2021/05/14 Python
MYSQL常用函数介绍
2022/05/05 MySQL