Doctrine 分析器无法捕获查询
-
20-08-2019 - |
题
我想我一定在这里遗漏了一些明显的东西。我将 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() 及其执行方法获取一堆项目。
解决方案
有更好的方法,但这可能是一个更好的起点。
假设在引导期间设置了连接和分析器,有几次初步尝试来开发 Doctrine 资源插件,请参阅 http://www.nabble.com/RFC%3A-ZendX_Doctrine-to23454552.html 和 http://www.nabble.com/Autoload-models-with-no-namespace-to23387744.html, ,您可以在控制器/操作中执行类似的操作:
然后在布局或视图脚本中执行类似的操作:
其他提示
什么是$探查数组中开始运行前?
不隶属于 StackOverflow