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 相关文章推荐
真正面向对象编程:PHP5.01发布
Oct 09 PHP
php在字符串中查找另一个字符串
Nov 19 PHP
服务器web工具 php环境下
Dec 29 PHP
php学习笔记 类的声明与对象实例化
Jun 13 PHP
PHP中几个常用的魔术常量
Feb 23 PHP
php的array_multisort()使用方法介绍
May 16 PHP
用php来改写404错误页让你的页面更友好
Jan 24 PHP
关于PHP二进制流 逐bit的低位在前算法(详解)
Jun 13 PHP
PHP的curl实现get,post和cookie(实例介绍)
Jun 17 PHP
探讨:web上存漏洞及原理分析、防范方法
Jun 29 PHP
php实现多维数组中每个单元值(数字)翻倍的方法
Feb 16 PHP
php实现网页上一页下一页翻页过程详解
Jun 28 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中文乱码
2009/11/26 PHP
php中使用临时表查询数据的一个例子
2013/02/03 PHP
php设计模式之单例模式使用示例
2014/01/20 PHP
windows下配置apache+php+mysql时出现问题的处理方法
2014/06/20 PHP
PHP 读取和编写 XML
2014/11/19 PHP
PHP整合PayPal支付
2015/06/11 PHP
zend framework中使用memcache的方法
2016/03/04 PHP
PHP的curl函数的用法总结
2019/02/14 PHP
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
网页和浏览器兼容性问题汇总(draft1)
2009/06/01 Javascript
Javascript学习笔记-详解in运算符
2011/09/13 Javascript
stream.js 一个很小、完全独立的Javascript类库
2011/10/28 Javascript
jquery插件制作简单示例说明
2012/02/03 Javascript
javascript中键盘事件用法实例分析
2015/01/30 Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
2016/08/10 Javascript
ES7中利用Await减少回调嵌套的方法详解
2017/11/01 Javascript
vue2 router 动态传参,多个参数的实例
2017/11/10 Javascript
vue webpack实用技巧总结
2018/04/24 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
2020/09/21 Javascript
nestjs返回给前端数据格式的封装实现
2021/02/22 Javascript
Python中import机制详解
2017/11/14 Python
python 常见字符串与函数的用法详解
2018/11/23 Python
python生成器与迭代器详解
2019/01/01 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
2020/01/03 Python
使用Puppeteer爬取微信文章的实现
2020/02/11 Python
python正则表达式 匹配反斜杠的操作方法
2020/08/07 Python
Python使用for生成列表实现过程解析
2020/09/22 Python
Django通过设置CORS解决跨域问题
2020/11/26 Python
Python爬虫自动化获取华图和粉笔网站的错题(推荐)
2021/01/08 Python
大学生实习思想汇报
2014/01/12 职场文书
运动会解说词200字
2014/02/06 职场文书
表彰大会主持词
2014/03/26 职场文书
联谊活动总结
2014/08/28 职场文书
销售区域经理岗位职责
2015/04/10 职场文书
高一化学教学反思
2016/02/22 职场文书