2010-03-15 5 views
0

Bonne journée. J'utilise Doctrine comme ORM pour mon projet Zend Framework. C'est la première fois que je l'utilise. J'ai suivi les chapitres de ZendCasts Doctrine, et tout fonctionne pour moi, mais j'avais besoin de faire du profilage;Comment profiler Doctrine dans Zend Framework

Il existe une classe Doctrine_Connection_Profiler qui doit être utilisée pour profiler les requêtes internes du modèle Doctrine, mais j'ai essayé de l'utiliser sans succès. Je reçois toujours une exception "PDOException: Vous ne pouvez pas sérialiser ou désérialiser des instances PDOStatement" lorsque j'effectue mes tests unitaires.

est un exemple ici:

$conn = Doctrine_Manager::connection($doctrineConfig['dsn'], $dbconfname); 
... 
if(APPLICATION_ENV != 'production'){ 
    $obj_doctrine_profiler = new Doctrine_Connection_Profiler(); 
    $conn->setListener($obj_doctrine_profiler); 
} 

Tous mes tests unitaires fonctionne si je commente/supprimer la ligne

$conn->setListener($obj_doctrine_profiler); 

. Ce bloc de code se trouve dans ma classe Bootstrap.php; la chose étrange est, l'application web fonctionne très bien même avec la ligne de code mentionnée.

Merci beaucoup pour votre aide.

excusez-moi si mon anglais n'est pas le meilleur.

Répondre

2

Il existe un plugin et une bibliothèque pour Zend Framework qui m'a aidé à résoudre ce problème. La bibliothèque s'appelle ZFDebug et il y a aussi un adaptateur Doctrine (qui ne vient pas dans la bibliothèque ZFDebug par défaut). Les instructions complètes sont dans le package ZFDebug. Le plugin Doctrine affiche tous les événements, les requêtes et le temps passé dans les bases de données.

Questions connexes