Frage

Ich glaube, ich muss etwas offensichtlich hier fehlen. Ich habe Lehre und Zend Framework zusammen aufgebaut. Folgendes habe ich in der bootstrap.php Datei - auf der Grundlage der Lehre Dokumentation zur Verwendung des Profilers:

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

Es gibt keine Fehler, der Profiler-Ausgang am Ende nur druckt: "Gesamtzeit: 0, Abfrage Zahl: 0".

Die Verbindung auf jeden Fall funktioniert, wie die Abfragen ausgeführt werden soll - ich habe eine SELECT bekommt eine Reihe von Elementen zu holen mit Doctrine_Query :: create () und es ist Methode ausführen

.
War es hilfreich?

Lösung

Es gibt bessere Ansätze, aber dies kann ein besserer Ausgangspunkt sein.

Unter der Annahme, die Verbindung und Profiler sind Setup während Bootstrap, gibt es mehrere erste Versuche eine Lehre Ressource Plugin zu entwickeln, finden Sie unter http://www.nabble.com/RFC%3A-ZendX_Doctrine-to23454552.html und http://www.nabble.com/Autoload-models-with-no-namespace-to23387744.html Sie etwas tun könnte, wie dies in einem Controller / Aktion:

http://pastie.org/475589

Und dann so etwas wie dies in einem Layout oder View Skript:

http://pastie.org/475593

Andere Tipps

Was ist im Array $ Profiler, bevor Sie es anfangen zu laufen?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top