问题:
是否可以以编程方式检索 PHP 的源代码函数给出了它的名字?
背景:
例如,考虑下面的代码:
<code class="php">function blah($a, $b) { return $a*$b; } echo getFunctionCode("blah");</code>
实现这样一个函数是否可行?
答案:
是的,这可以使用 PHP 的 ReflectionFunction 类来实现。下面的代码片段演示了如何操作:
<code class="php">$func = new ReflectionFunction('myfunction'); $filename = $func->getFileName(); $start_line = $func->getStartLine() - 1; // subtract 1 to obtain the correct function block $end_line = $func->getEndLine(); $length = $end_line - $start_line; $source = file($filename); $body = implode("", array_slice($source, $start_line, $length)); print_r($body);</code>
此代码通过解析 PHP 源文件并提取与函数体对应的行来检索函数的源代码。 ReflectionFunction 类提供了方便的方法来确定函数的文件位置、起始行号和结束行号。
以上是可以通过编程方式检索 PHP 函数源代码吗?的详细内容。更多信息请关注PHP中文网其他相关文章!