Как быстро найти реализацию конкретной функции PHP в исходном тексте PHP на C? - PullRequest
2 голосов
/ 09 октября 2010

Исходный код PHP C можно найти по адресу http://svn.php.net/viewvc/php/php-src/trunk/. Если я хочу найти реализацию конкретной функции PHP, как быстро найти ее в этом исходном SVN-файле?

Ответы [ 2 ]

3 голосов
/ 09 октября 2010

Проверка хранилища (или извлечение архива), и greppign для 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/.

1 голос
/ 09 октября 2010

Извлеките источники и запустите на дереве какой-нибудь индексатор (например, etags).Тогда вы сможете найти определение довольно быстро.Это предполагает, что существует некоторое соглашение об именах, такое, что встроенная функция PHP, такая как «do_this», имеет соответствующее имя в C, такое как «C_do_this», которое вы можете использовать как правило отображения.

...