Come individuare rapidamente l'implementazione di una funzione PHP specifica sorgente C di PHP?

StackOverflow https://stackoverflow.com/questions/3896010

  •  29-09-2019
  •  | 
  •  

Domanda

sorgente C di PHP sono disponibili all'indirizzo http: //svn.php. net / viewvc / php / php-src / trunk / . Se voglio trovare l'implementazione di una funzione PHP specifica, come individuare rapidamente in quella sorgente SVN?

È stato utile?

Soluzione

Il check-out del repository (o l'estrazione del tarball), e greppign per PHP_FUNCTION(functionname) dovrebbe farlo.

Ad esempio:

$ grep -Rn "PHP_FUNCTION(implode)" *
ext/standard/php_string.h:40:PHP_FUNCTION(implode);
ext/standard/string.c:1131:PHP_FUNCTION(implode)

Linea 1131 di ext/standard/string.c è dove si definisce implode.

In alternativa è possibile utilizzare http://lxr.php.net/ .

Altri suggerimenti

Controlla le fonti ed eseguire qualche tipo di indicizzatore (come etags) sull'albero. Poi si dovrebbe essere in grado di trovare una definizione abbastanza rapidamente. Questo presuppone che ci sia qualche convenzione di denominazione in atto in modo tale che una funzione PHP integrato come "do_this" ha un nome corrispondente a C come "C_do_this" che è possibile utilizzare come una regola di mappatura.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top