0

我想我一定在这里遗漏了一些明显的东西。我一起设置了 Doctrine 和 Zend Framework。在 bootstrap.php 文件中,我有以下内容 - 基于使用分析器的 Doctrine 文档:

$profiler = new Doctrine_Connection_Profiler();
$conn = Doctrine_Manager::connection();
$conn->setListener($profiler);

(...)

$frontController = Zend_Controller_Front::getInstance();

(...)

$query_count = 0;
$time = 0;
echo "<table width='100%' border='1'>";
foreach ( $profiler as $event ) {
    if ($event->getName() != 'execute') {
        continue;
    }
    $query_count++;
    echo "<tr>";
    $time += $event->getElapsedSecs() ;
    echo "<td>" . $event->getName() . "</td><td>" . sprintf ( "%f" , $event->getElapsedSecs() ) . "</td>";
    echo "<td>" . $event->getQuery() . "</td>" ;
    $params = $event->getParams() ;
    if ( ! empty ( $params ) ) {
          echo "<td>";
          echo join(', ', $params);
          echo "</td>";
    }
    echo "</tr>";
}
echo "</table>";
echo "Total time: " . $time . ", query count: $query_count <br>\n ";

没有错误,最后的探查器输出仅打印:“总时间:0,查询计数:0”。

随着查询的执行,连接肯定是有效的——我有一个 SELECT 使用 Doctrine_Query::create() 获取一堆项目,它是执行方法。

4

2 回答 2

1

有更好的方法,但这可能是一个更好的起点。

假设在引导期间设置了连接和分析器,有几个初步尝试来开发 Doctrine 资源插件,请参阅http://www.nabble.com/RFC%3A-ZendX_Doctrine-to23454552.htmlhttp://www.nabble。 com/Autoload-models-with-no-namespace-to23387744.html,您可以在控制器/动作中执行以下操作:

http://pastie.org/475589

然后在布局或视图脚本中是这样的:

http://pastie.org/475593

于 2009-05-12T13:49:49.627 回答
0

在你开始运行之前,$profiler 数组中有什么?

于 2009-05-09T18:06:32.450 回答