在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