ホームページ >バックエンド開発 >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 中国語 Web サイトの他の関連記事を参照してください。