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 增加了对 .ZIP 文件的读取功能
Oct 09 PHP
php intval的测试代码发现问题
Jul 27 PHP
理解php Hash函数,增强密码安全
Feb 25 PHP
php连接mssql的一些相关经验及注意事项
Feb 05 PHP
wamp下修改mysql访问密码的解决方法
May 07 PHP
深入php self与$this的详解
Jun 08 PHP
浅析PHP绘图技术
Jul 03 PHP
深入浅析Yii admin的权限控制
Aug 31 PHP
php验证码生成器
May 24 PHP
PHP实现数组转JSon和JSon转数组的方法示例
Jun 14 PHP
php获取微信基础接口凭证Access_token
Aug 23 PHP
Laravel开启跨域请求的方法
Oct 13 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
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
基于laravel制作APP接口(API)
2016/03/15 PHP
PHP身份证校验码计算方法
2016/08/10 PHP
PHP实现的同步推荐操作API接口案例分析
2016/11/30 PHP
PHP使用mysqli同时执行多条sql查询语句的实例
2019/03/22 PHP
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
2019/06/17 PHP
JS类库Bindows1.3中的内存释放方式分析
2007/03/08 Javascript
jQuery使用手册之二 DOM操作
2007/03/24 Javascript
最近项目写了一些js,水平有待提高
2009/01/31 Javascript
JQuery的ajax获取数据后的处理总结(html,xml,json)
2010/07/14 Javascript
简短几句 通俗解释javascript的闭包
2011/01/17 Javascript
js实现使用鼠标拖拽切换图片的方法
2015/05/04 Javascript
js查看一个函数的执行时间实例代码
2015/09/12 Javascript
基于javascript实现彩票随机数生成(升级版)
2020/04/17 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
Jquery把获取到的input值转换成json
2017/05/15 jQuery
JavaScript切换搜索引擎的导航网页搜索框实例代码
2017/06/11 Javascript
js链表操作(实例讲解)
2017/08/29 Javascript
详解Javascript 中的 class、构造函数、工厂函数
2017/12/20 Javascript
利用js给datalist或select动态添加option选项的方法
2018/01/25 Javascript
Angular2中监听数据更新的方法
2018/08/31 Javascript
vue拖拽排序插件vuedraggable使用方法详解
2020/08/21 Javascript
javascriptvoid(0)含义以及与&quot;#&quot;的区别讲解
2019/01/19 Javascript
js实现前端界面导航栏下拉列表
2020/08/27 Javascript
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
对python numpy数组中冒号的使用方法详解
2018/04/17 Python
Django restframework 源码分析之认证详解
2019/02/22 Python
Pycharm新手教程(只需要看这篇就够了)
2019/06/18 Python
澳大利亚最大的女装零售商:Millers
2017/09/10 全球购物
世界上最大的铁人三项商店:Tri UK
2020/11/04 全球购物
怎样声明接口
2014/09/19 面试题
烹饪大赛策划方案
2014/05/26 职场文书
手机销售员岗位职责
2015/04/11 职场文书
《小摄影师》教学反思
2016/02/18 职场文书
升职自荐书
2019/05/09 职场文书
Win11如何设置右键单击显示所有选项?Win11右键单击显示所有选项设置教程
2022/04/08 数码科技