Wie schnell die Implementierung einer bestimmten PHP-Funktion in PHP-C-Quelle ausfindig zu machen?
-
29-09-2019 - |
Frage
PHP-C-Quelle kann unter http: //svn.php. net / viewvc / php / php-src / trunk / . Wenn ich die Implementierung einer bestimmten PHP-Funktion finden wollen, wie man schnell lokalisieren es, dass SVN Quelle?
Lösung
das Repository Checking out (oder Extrahieren des Tarball) und greppign für PHP_FUNCTION(functionname)
sollte es tun.
Zum Beispiel:
$ grep -Rn "PHP_FUNCTION(implode)" * ext/standard/php_string.h:40:PHP_FUNCTION(implode); ext/standard/string.c:1131:PHP_FUNCTION(implode)
Line 1131
von ext/standard/string.c
ist, wo implode
definiert ist.
Sie können auch verwenden http://lxr.php.net/ .
Andere Tipps
Zur Kasse der Quellen und eine Art von Indexer läuft (wie etags) auf dem Baum. Dann sollten Sie in der Lage sein, sehr schnell eine Definition zu finden. Dies setzt voraus, dass es einige Namenskonvention statt, so dass eine PHP eingebaute Funktion wie „do_this“ hat einen entsprechenden Namen in C wie „C_do_this“, die Sie als Zuordnungsregel verwenden können.