12

我正在分析一个 PHP 应用程序(基于 Zend 框架构建)。在附件中,您可以找到 KCacheGrind 从 xDebug 输出生成的主调用图的屏幕截图。

有两点我不明白:

1)为什么{main} “分叉”成2个电话?它们应该以某种方式平行还是一个接一个地发生?

2) 左边的箭头{main}有一个带文字的小蓝条2x;这是否意味着呼叫Zend_Application->bootstrap发生了两次?

 

PHP xDebug 图

4

1 回答 1

18
  1. 电话(当然)一个接一个地发生。由于前两个函数中的每一个都由 main()调用,因此该图分裂了。该图显示调用,而不是执行顺序。

  2. 是的,这正是它的意思。main() 调用 Zend_Application->bootstrap 两次并 ->run 一次。

于 2012-04-16T14:26:29.267 回答