如何以程式設計方式檢索 PHP 函數原始碼

Susan Sarandon
發布: 2024-10-19 07:32:01
原創
845 人瀏覽過

How to Programmatically Retrieve PHP Function Source Code

透過程式擷取PHP 函數原始碼

問題:

以程式方式擷取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中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板