Как быстро найти реализацию определенной функции PHP в источнике C PHP C?
-
29-09-2019 - |
Вопрос
Источник PHP C можно найти в http://svn.php.net/viewvc/php/php-src/trunk/. Анкет Если я хочу найти реализацию определенной функции PHP, как быстро найти его в этом SVN Source?
Решение
Проверка хранилища (или извлечение тарбола) и Greppig для 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) на дереве. Тогда вы должны быть в состоянии найти определение довольно быстро. Это предполагает, что существует некоторое соглашение об именах, таким образом, что функция встроенного PHP, такая как «Do_This», имеет соответствующее имя в C, как «C_DO_This», который вы можете использовать в качестве правила сопоставления.