ホームページ  >  記事  >  バックエンド開発  >  プログラムで PHP 関数のソース コードを取得する方法

プログラムで PHP 関数のソース コードを取得する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-10-19 07:32:01756ブラウズ

How to Programmatically Retrieve PHP Function Source Code

プログラムによる 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。