2012-04-16 8 views
11

Ich profile eine PHP-Anwendung (auf dem Zend-Framework aufgebaut). Anbei finden Sie einen Screenshot des Hauptaufruf-Graphen, den KCacheGrind von der xDebug-Ausgabe erzeugt.PHP XDebug Grafikinterpretation

Es gibt zwei Dinge, die ich nicht verstehe:

1) Warum {main}"fork" in 2 Anrufe? Sollen sie irgendwie parallel sein oder passiert eines nach dem anderen?

2) Der Pfeil nach links von {main} hat einen kleinen blauen Balken mit dem Text 2x; bedeutet das, dass der Anruf an Zend_Application->bootstrap zweimal passiert ist?

 

PHP xDebug graph

Antwort

16
  1. Die Anrufe (natürlich) hintereinander passieren. Der Graph teilt sich auf, weil jede der beiden obersten Funktionen von main() genannt wird. Das Diagramm zeigt Aufrufe, nicht die Ausführungsreihenfolge.

  2. Ja, das ist genau das, was es bedeutet. main() wird Zend_Application-> bootstrap zweimal aufgerufen und -> einmal ausgeführt.