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

yipeiwu_com7年前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 防止单引号,双引号在接受页面转义

PHP页面中如果不希望出现以下情况:  单引号被转义为 /'  双引号被转义为 /"  那么可以进行如下设置以防止:  方法一...

在PHP中检查PHP文件是否有语法错误的方法

之前在当当的时候的一个项目中用到了一个简单的模板引擎,其实也是借鉴discuz来做的模板引擎,很简单,它所作的事情就是把一些自定义的标签编译成php代码。已经说了很简单了,所以编译的时候...

php计算两个文件相对路径的方法

本文实例讲述了php计算两个文件相对路径的方法。分享给大家供大家参考。具体如下: 一、问题: 写一个php函数算出两个文件的相对路径。例如$a="/a/b/c/d/e.php"; $b=...

对php 判断http还是https,以及获得当前url的方法详解

如下所示: $http_type = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SER...

PHP实现防止表单重复提交功能【基于token验证】

PHP实现防止表单重复提交功能【基于token验证】

本文实例讲述了PHP实现防止表单重复提交功能。分享给大家供大家参考,具体如下: 防止表单重复提交的方法有很多种,那么今天就给大家介绍一种php如何有效的防止表单重复提交。 代码非常简单...