Pregunta

Creo que me falta algo obvio aquí. Tengo Doctrine y Zend Framework configurados juntos. En el archivo bootstrap.php tengo lo siguiente, basado en la documentación de Doctrine para usar el generador de perfiles:

$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 ";

No hay errores, la salida del generador de perfiles al final solo se imprime: " Tiempo total: 0, recuento de consultas: 0 " ;.

La conexión definitivamente funciona, ya que las consultas se ejecutan: tengo un SELECT que busca un montón de elementos usando Doctrine_Query :: create () y su método de ejecución.

¿Fue útil?

Solución

Hay mejores enfoques, pero este puede ser un mejor punto de partida.

Suponiendo que la conexión y el generador de perfiles se configuran durante el arranque, hay varios intentos iniciales para desarrollar un complemento de recursos de Doctrine; consulte http://www.nabble.com/RFC%3A-ZendX_Doctrine-to23454552.html y http://www.nabble.com/Autoload-models-with-no-namespace-to23387744.html , puede hacer algo como esto en un controlador / acción:

http://pastie.org/475589

Y luego algo como esto en una secuencia de comandos de diseño o vista:

http://pastie.org/475593

Otros consejos

¿Qué hay en la matriz $ profiler antes de comenzar a ejecutarlo?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top