PHP使用反射机制实现查找类和方法的所在位置

yipeiwu_com6年前PHP代码库

本文实例讲述了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+ajax技巧与应用小结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP利用APC模块实现大文件上传进度条的方法

php 大文件带进度的上传,一直是一个令php程序员很苦恼的问题。查询baidu 、Google ,大体做带进度的上传方式为:flash+php,socket,apc+php等,下面我介...

PHP中使用数组实现堆栈数据结构的代码

在堆栈中,最后压入的数据(进栈),将会被最先弹出(出栈)。 即在数据存储时采用“先进后出”的数据结构。 PHP中,将数组当做一个栈,主要是使用array_push()和array_pop...

php编程实现追加内容到txt文件中的方法

本文实例讲述了php编程实现追加内容到txt文件中的方法。分享给大家供大家参考,具体如下: 覆盖txt文件内容: $filename="aa/a.txt"; $handle=fope...

PHP实现的贪婪算法实例

本文实例讲述了PHP实现的贪婪算法。分享给大家供大家参考,具体如下: 背景介绍:贪婪算法与数据结构知识库算法可以说是离我们生活最近的一种算法,人总是贪婪的嘛,所以这种算法的设计是很符合人...

在WAMP环境下搭建ZendDebugger php调试工具的方法

在WAMP环境下搭建ZendDebugger php调试工具的方法

东西不是新货,所以介绍就不做介绍了,下面主要是配置流程。   首先,下载ZendDebugger,下载链接:http://downloads.zend.com/pdt/server-d...