PHP查看函数定义位置是在哪个文件及行数

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";
	}

此处所有的类“ReflectionMethod”都加了“\”表示在存在命名空间调用的情况下使用全局命名空间里的类,如果程序中不存在命名空间调用,则可以去掉这个"\"。

function_dump('a');
function_dump(array('b', 'f'));
$b = new b();
function_dump(array($b, 'f'));

上面实例包含一般函数和类函数的查找。