PHPのCソースで特定のPHP関数の実装を迅速に見つける方法は?
-
29-09-2019 - |
質問
PHPのCソースはで見つけることができます http://svn.php.net/viewvc/php/php-src/trunk/. 。特定のPHP関数の実装を見つけたい場合、そのSVNソースで迅速に見つけるにはどうすればよいですか?
解決
リポジトリをチェックアウト(またはターボールを抽出)し、グレッピン PHP_FUNCTION(functionname)
それをする必要があります。
例えば:
$ grep -Rn "PHP_FUNCTION(implode)" * ext/standard/php_string.h:40:PHP_FUNCTION(implode); ext/standard/string.c:1131:PHP_FUNCTION(implode)
ライン 1131
の ext/standard/string.c
どこです implode
定義されています。
または使用することができます http://lxr.php.net/.
他のヒント
ソースをチェックアウトし、ツリーで何らかの種類のインデクサー(ETAGSなど)を実行します。その後、定義を非常に迅速に見つけることができるはずです。これは、「do_this」のようなPHPが組み込まれた機能が「c_do_this」のような対応する名前があるように、マッピングルールとして使用できるようにするために、いくつかの命名規則が整っていることを前提としています。
所属していません StackOverflow