有时候我们需要修改别人源码里的代码,却找不到对应的函数放在了哪儿,就可以用使用本文介绍的办法,帮你快速定位函数位置。特别是某些写法不规范的WordPress主题,各种模块,函数到处放,找半天的那种。那么WordPress如何快速定位PHP函数所在文件位置及代码行号?

使用同名函数

这个方法很简单,就是利用PHP不支持函数重载原理实现的,也就是说不能存在相同命名的函数。当出现同名函数时,PHP会抛出致命错误,并终止程序运行。

Fatal error: Cannot redeclare (a) (previously declared in (b)) in (c) on line (d)

出现上述提示时,就说明你的函数出现了同名。

a—-表示重复定义的函数名;

b—-第一次定义该函数时的文件名称及行号;

c—-第二次定义该函数时的文件名称;

d—-第二次定义该函数时的行号。

对应函数所处位置都输出了,非常清楚。但是,有些环境关闭了提示,PHP会直接返回HTTP500错误,我们这个方法就失效了。

PHP反射类输出函数位置

这个方法就比较好了,出来对PHP版本有限制外,都可以使用,当然,除了古老的PHP5.2以下版本不能用,其它都是OK的。

Reflection::export(new ReflectionFunction(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’函数名\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’));

使用方法,在你要定位的函数文件中,使用上述代码,即可。

Function [ function get_exc ] { @@ D:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\phpStudy\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\WWW\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\wp-content\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\themes\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\mytheme\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\functions.php 118 – 130 – Parameters [1] { Parameter #0 [ $ID ] } }

输出很详细,不仅有函数名称,所处文件位置,函数所在起始行、结束行还有函数有几个参数,参数是什么都给显示了出来,非常好用!推荐!

相关新闻

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

151-1101-0018

在线咨询:
邮件:30115776@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部