PHP 関数のソース コードをプログラムで取得できますか?

Patricia Arquette
リリース: 2024-10-19 07:33:30
オリジナル
382 人が閲覧しました

Can PHP Function Source Code be Retrieved Programmatically?

PHP 関数のソース コードをプログラムで抽出する

質問:

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!