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实现mysql数据库备份类
Mar 20 PHP
PHP第一季视频教程(李炎恢+php100 不断更新)
May 29 PHP
数据库中排序的对比及使用条件详解
Feb 23 PHP
PHP写的求多项式导数的函数代码
Jul 04 PHP
apache php模块整合操作指南
Nov 16 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
Jul 01 PHP
php文件上传的两种实现方法
Apr 04 PHP
php array_pop 删除数组最后一个元素实例
Nov 02 PHP
Zend Framework入门应用实例详解
Dec 11 PHP
Laravel创建数据库表结构的例子
Oct 09 PHP
php 的多进程操作实践案例分析
Feb 28 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 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将字符串转化成date存入数据库的两种方式
2014/04/28 PHP
ajax 文件上传应用简单实现
2009/03/03 Javascript
jQuery中:empty选择器用法实例
2014/12/30 Javascript
JS封装cookie操作函数实例(设置、读取、删除)
2015/11/17 Javascript
js实现文字垂直滚动和鼠标悬停效果
2015/12/31 Javascript
Bootstrap table的使用方法
2016/11/02 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
原生JS实现ajax与ajax的跨域请求实例
2017/12/01 Javascript
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
微信小程序云开发实现增删改查功能
2019/05/17 Javascript
MockJs结合json-server模拟后台数据
2020/08/26 Javascript
vue 中 命名视图的用法实例详解
2019/08/14 Javascript
python sqlobject(mysql)中文乱码解决方法
2008/11/14 Python
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
2014/07/04 Python
Python遍历文件夹和读写文件的实现代码
2016/08/28 Python
python实现12306火车票查询器
2017/04/20 Python
深入了解Python中pop和remove的使用方法
2018/01/09 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
2018/02/18 Python
python正则-re的用法详解
2019/07/28 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
2019/07/31 Python
Python FTP文件定时自动下载实现过程解析
2019/11/12 Python
浅谈Django2.0 加xadmin踩的坑
2019/11/15 Python
Python使用urllib模块对URL网址中的中文编码与解码实例详解
2020/02/18 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
python如何发送带有附件、正文为HTML的邮件
2021/02/27 Python
使用HTML5捕捉音频与视频信息概述及实例
2018/08/22 HTML / CSS
解决HTML5中的audio在手机端和微信端的不能自动播放问题
2019/11/04 HTML / CSS
水芝澳美国官网:H2O Plus
2016/10/15 全球购物
新西兰便宜隐形眼镜购买网站:QUICKLENS New Zealand
2019/03/02 全球购物
EJB发布WEB服务一般步骤
2012/10/31 面试题
学生会竞选自荐信
2013/10/12 职场文书
应届生污水处理求职信
2013/11/06 职场文书
《唯一的听众》教学反思
2014/02/20 职场文书
最美护士演讲稿
2014/08/27 职场文书
简历中自我评价范文
2015/03/11 职场文书
药品开票员岗位职责
2015/04/15 职场文书