加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > wordpress > 正文

WordPress快速定位PHP函数所在文件位置及代码行号

发布时间:2020-12-14 14:24:02 所属栏目:wordpress 来源:网络整理
导读:由站长 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。 出现这个问题一般都是在看别人的源码,当然我也是在看别人源码时出现的这个问题。有时候我们需要修改别人源码里的代码,却找不到对应的函数放在了哪儿

以下代码由PHP站长网 52php.cn收集自互联网现在PHP站长网小编把它分享给大家,仅供参考

出现这个问题一般都是在看别人的源码,当然我也是在看别人源码时出现的这个问题。有时候我们需要修改别人源码里的代码,却找不到对应的函数放在了哪儿,就可以用使用本文介绍的办法,帮你快速定位函数位置。特别是某些写法不规范的 wordpress 主题,各种模块,函数到处放,找半天的那种。

有人可能要说了,我电脑装有 PHP 环境的 IDE,可以自动定位函数位置。确实现在的 IDE 很牛逼,这种方法也是最快捷的,但是如果不是你的电脑呢?对方没装 IDE 呢?下面介绍出了使用 IDE 之外的两种办法。

使用同名函数

这个方法很简单,就是利用 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:phpStudyWWWwp-contentthemesmythemefunctions.php 118 - 130 - Parameters [1] { Parameter #0 [ $ID ] } }

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



三种方法各有优劣,最方便的还是 IDE,毕竟软件功能强大。我个人觉得最后一种使用反射的方式很好用,推荐没有 PHP 的 IDE 环境下使用。

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读