有时候我们需要修改别人源码里的代码,却找不到对应的函数放在了哪儿,就可以用使用本文介绍的办法,帮你快速定位函数位置。特别是某些写法不规范的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 ] } }

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

php找出函数定义位置,WordPress如何快速定位PHP函数所在文件位置及代码行号?相关推荐

  1. 函数定义涉及的三要素C语言,(函数定义与三要素答案.doc

    (函数定义与三要素答案 函数定义及三要素 1.与函数y=10lg(2x-1)的图象相同的函数是( ) A.y= B.y=2x-1 C.y= D.y= [答案] B [解析] y=10lg(2x-1)= ...

  2. 耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3……,凡是报到“3”就退出圈子,最后留在圈内的人就是出卖耶稣的叛徒

    问题: 耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3--,凡是报到"3"就退出圈子,最后留在圈内 ...

  3. 3 耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3...。凡是报到“3”就退出圈子,最后留在圈子内的人就是出卖耶稣的

    // 3 耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3....凡是报到"3"就退出圈子,最后留在 ...

  4. 用计算机查找文件地址吗,如何快速搜索电脑里的文件( 快速准确定位和查找电脑文件位置的方法...

    今天给大家带来如何快速搜索电脑里的文件(,快速准确定位和查找电脑文件位置的方法,让您轻松解决问题. 怎样快速搜索电脑里的文件 如何快速准确定位和查找电脑文件位.我们在使用电脑的时候,经常需要进行一些操 ...

  5. php怎么找代码所在位置,WordPress快速定位PHP函数所在文件位置及代码行号

    搜索热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段.编程之家小编现在分享给大家,也给大家做个参考. 出现这个问题一般都是在看别人的源码,当然我也是在看别人源码时出现的这个问题.有时候 ...

  6. python函数定义及调用-浅谈Python中函数的定义及其调用方法

    一.函数的定义及其应用 所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用函数的使用包含两个步骤 1.定义函数�C封装独立的功能 2.调用函数�C享受封装的成果 函数的作用:在开 ...

  7. python数据函数定义的规则是什么_Python自定义函数基础概念

    一.函数定义语法: def 函数名(形参列表): 语句块 二.函数定义规则 1. 函数的名字就是语句块的名称 2. 函数名的命名规则与变量名相同(函数名必须是标识符) 3. 函数名是一个变量(不要轻易 ...

  8. 程序员面试题经典问题——耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:123凡是报到“3”就退出圈子,最后留在圈子内的人就是出卖耶稣的叛徒。

    package com.softeem.project1;public class Test1 {public static void main(String[] args) {//定义数组保存13位 ...

  9. changyan main.php,织梦dedecms商业教程 dedecms5.7二次开发之常用函数列表及所在文件位置...

    列表比较长,使用的同学可以保存到本地的txt文件中,需要找的Ctrl+F找下就OK了. 文件位置                                函数 /include/taglib/t ...

最新文章

  1. java cxf 入口统一_分分钟带你玩转 Web Services【2】CXF
  2. 抽象工厂+反射=反射工厂
  3. Kettle使用_26 根据增删改标识处理数据
  4. Count on a tree
  5. Java学习笔记5-2——多线程
  6. SQLServer导入excel报错因缺少插件
  7. 高级JAVA - 利用函数式接口实现通用的取并集/交集/差集进阶版
  8. c#开发大全、系列文章、精品教程
  9. TensorFlow 学习------第一天
  10. CS106 错误拒绝访问
  11. 教你轻松删除PDF文件中的空白页
  12. qtdesigner页面布局
  13. 网络营销-渠道、公关
  14. C++ Class6-虚函数-虚析构-多态-纯虚函数-抽象类-静态联编和动态联编-多态小练习(英雄联盟)
  15. 创新趋势 | SaaS增长新趋势:产品驱动增长PLG(上)
  16. 不要急,没有一朵花,从一开始就是花,也不要嚣张,没有一朵花,
  17. C++ 类中的static成员的使用及单例设计示例
  18. codeforces 1677A. Tokitsukaze and Strange Inequality
  19. e-mobile服务器地址显示无法登陆,E-Mobile服务器安装设置手册.doc
  20. EVE模拟器的安装使用

热门文章

  1. elementui中同时上传多个文件_element ui 上传文件,批量一次上传多个文件,为什么是发送了多次请求,我想一次请求,然后发送多个文件怎么实现呢?...
  2. html怎么播放下一首,javascript – HTML5音频播放列表 – 第一个结束后如何播放第二个音频文件?...
  3. Karmada 千级容器集群:工商银行业务容灾管理设计利器
  4. C/C++课程设计 之学生管理系统(一)
  5. 里面怎么模拟裂纹_警惕!你买的翡翠有裂纹吗?它能让翡翠的价值暴跌
  6. 翻翻看 类型html5,3款容易上手的HTML5编辑工具推荐~
  7. python极简教程_Python 极简教程(六)运算符
  8. springboot怎么设置多个路径全部跳转首页_SpringBoot(四)—Web开发(二)
  9. teamviewer类似软件_TeamViewer系统后台被黑客组织APT攻破,请注意防范
  10. python 循环语句 for while range