问题:
通过编程方式提取 PHP 函数源代码是否可行一个基于其名称的 PHP 函数?本质上,目标是动态检索函数定义(例如, function blah($a, $b) { return $a*$b; })。
此外,是否有任何 PHP 函数可以用于自描述代码重构,无需直接访问源文件? Java 为此目的提供了 Reflection API,但是 PHP 有等效的吗?
答案:
在 PHP 中,ReflectionFunction 类提供了此任务所需的功能。这是一个示例:
<code class="php">$func = new ReflectionFunction('myfunction'); $filename = $func->getFileName(); $start_line = $func->getStartLine() - 1; // subtract 1 to account for line numbering peculiarities $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 函数源代码的详细内容。更多信息请关注PHP中文网其他相关文章!