找出定义自定义PHP函数的位置

时间:2017-11-05 03:51:17

标签: php function exists

我使用内部函数function_exists,它可以返回true但我在项目中找不到自定义函数。我还调试了我的代码来跟踪函数,但是调试器没有进入我的自定义函数。我很期待知道为什么。请帮帮我,谢谢。

1 个答案:

答案 0 :(得分:2)

要找出定义函数的位置,请使用以下代码:

<?php
   $rf = new ReflectionFunction('my_fuction_name');
   echo 'file:' . $rf->getFileName() . ', line:' . $rf->getStartLine();
?>

请注意,如果函数未在源代码中定义,但是它的内部PHP函数,则getFileName()getStartLine()都将返回false

您可以检查该功能是否是内部的:

<?php
   $rf = new ReflectionFunction('my_fuction_name');
   if($rf->isInternal() === TRUE){
      echo "Function is internal!";
   }else{
      echo "Function is not internal.";
   }
?>