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 相关文章推荐
用来解析.htpasswd文件的PHP类
Sep 05 PHP
PHP函数getenv简介和使用实例
May 12 PHP
THINKPHP内容分页代码分享
Jan 14 PHP
php使用curl打开https网站的方法
Jun 17 PHP
PHP连接Nginx服务器并解析Nginx日志的方法
Aug 16 PHP
php使用正则验证中文
Apr 06 PHP
Yii2简单实现多语言配置的方法
Jul 23 PHP
php静态成员方法和静态的成员属性的使用方法
Oct 26 PHP
PHP用函数嵌入网站访问量计数器
Oct 27 PHP
PHP的mysqli_stat()函数讲解
Jan 23 PHP
详解PHP队列的实现
Mar 14 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
Apr 16 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静态文件生成类实例
2014/11/29 PHP
php中switch与ifelse的效率区别及适用情况分析
2015/02/12 PHP
深入解析PHP的Laravel框架中的event事件操作
2016/03/21 PHP
php简单压缩css样式示例
2016/09/22 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
表单项的name命名为submit、reset引起的问题
2007/12/22 Javascript
JS与框架页的操作代码
2010/01/17 Javascript
js或jquery实现页面打印可局部打印
2014/03/27 Javascript
Javascript字符串对象的常用方法简明版
2014/06/26 Javascript
javascript+html5实现仿flash滚动播放图片的方法
2015/04/27 Javascript
详解Node.js包的工程目录与NPM包管理器的使用
2016/02/16 Javascript
基于HTML模板和JSON数据的JavaScript交互(移动端)
2016/04/06 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
基于 webpack2 实现的多入口项目脚手架详解
2017/06/26 Javascript
微信小程序页面滑动屏幕加载数据效果
2020/11/16 Javascript
vue获取DOM元素并设置属性的两种实现方法
2017/09/30 Javascript
vue实现手机号码抽奖上下滚动动画示例
2017/10/18 Javascript
浅谈layui分页控件field参数接收对象的问题
2019/09/20 Javascript
jQuery中event.target和this的区别详解
2020/08/13 jQuery
用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化
2015/04/01 Python
PyQt5 pyqt多线程操作入门
2018/05/05 Python
Python环境使用OpenCV检测人脸实现教程
2020/10/19 Python
应用数学自荐书范文
2013/11/24 职场文书
人力资源部经理的岗位职责
2014/03/04 职场文书
园艺师求职信
2014/04/27 职场文书
个人承诺书格式
2014/06/03 职场文书
机关作风建设工作总结
2014/10/23 职场文书
就业推荐表导师评语
2014/12/31 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
小学三年级数学教学反思
2016/02/16 职场文书
python实现批量提取指定文件夹下同类型文件
2021/04/05 Python
Jupyter notebook 输出部分显示不全的解决方案
2021/04/24 Python
在JavaScript中如何使用宏详解
2021/05/06 Javascript
微信小程序实现聊天室功能
2021/06/14 Javascript
用php如何解决大文件分片上传问题
2021/07/07 PHP
mysql数据库隔离级别详解
2022/06/16 MySQL