在PHP实际开发过程中,我们会经常查看别人的源代码,在查看代码过程中,有时候想查看一个函数的定义在哪个文件什么位置,如果IDE智能的话或许能够自动跟踪,这个情况咱们忽略。现在分享一个用PHP实现的定位函数的小功能测试:
步骤一:准备一个通用函数库文件 common.php 里面写一个测试函数 test_fun以及定位函数位置功能的函数 get_fun_info
/**
* 定位函数位置功能函数
* 此代码并没有对函数名进行合法校验,使用时请自行完善
*/
function get_fun_info($fun_name) {
$obj = new ReflectionFunction($fun_name);
$file = $obj->getFileName();
$line = $obj->getStartLine();
echo $file,'==>',$line;
}
/**
* 测试函数
*/
function test_fun()
{
echo __FILE__.' test_fun.';
}
步骤二:准备一个测试的PHP文件 index.php
require_once __DIR__.'/common.php';
function get_fun_info($fun_name = '') {
if ($fun_name) {
$obj = new ReflectionFunction($fun_name);
$file = $obj->getFileName();
$line = $obj->getStartLine();
echo $file, '==>', $line;
}
}
get_fun_info('test_fun');
// 最终输出 E:\apps\demo\common.php==>13
