PHP获取指定函数定义在哪个文件中以及其所在的行号实例

yipeiwu_com6年前PHP代码库

当调试开源的代码时,希望查看某个函数的定义,那么就需要定位其位置。在 zend studio 这样的 IDE 中自是可以自动提示到,但当没有安装这样的开发工具时,我们可以怎么办呢?参考如下一段代码,或许就包含你所需的。

复制代码 代码如下:

<?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数组对象与Json转换操作实例分析

本文实例讲述了PHP数组对象与Json转换操作。分享给大家供大家参考,具体如下:代码<?php //数组转对象 function arrayToObject($e){  ...

php 代码优化之经典示例

我用的方法是按key区分块,然后在将块赋给其他的变量,然后再进行一些操作,这样用到了很多的for和foreach,而且代码量也很大,所以被退回来了。 经过上面的指导,发现真的好简单,现在...

php实现根据url自动生成缩略图的方法

本文实例讲述了php实现根据url自动生成缩略图的方法,是非常实用的功能。分享给大家供大家参考。具体方法如下: 原理:设置apache rewrite ,当图片不存在时,调用php创建图...

php 上传功能实例代码

1.上传表单 upload.html 复制代码 代码如下: <form enctype="multipart/form-data" action="upload.php" meth...

php创建多级目录与级联删除文件的方法示例

本文实例讲述了php创建多级目录与级联删除文件的方法。分享给大家供大家参考,具体如下: 创建多级目录 mkdir函数只能创建一级的目录,如果我们想创建多级目录,则需要自己编写函数。...