2010-03-15 72 views
0

美好的一天。如何在Zend Framework中剖析主义

我使用Doctrine作为我的Zend Framework项目的ORM。这是我第一次使用它。我遵循ZendCast Doctrine章节,一切都适用于我,但我需要执行一些分析;

有一个Doctrine_Connection_Profiler类应该用于剖析Doctrine Model内部查询,但我试图使用它没有成功。当我执行我的单元测试时,我总是得到“PDOException:您不能序列化或反序列化PDOStatement实例”异常。

这里有一个例子:

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

我所有的单元测试,如果我评论/删除

$conn->setListener($obj_doctrine_profiler); 

线工作。该代码块位于我的Bootstrap.php类中;奇怪的是,即使提到了代码行,Web应用程序也能正常工作。

非常感谢您的帮助。

请原谅我,如果我的英语不是最好的。

回答

2

有一个第三方插件和图书馆的Zend框架,帮助我解决这个问题。该库被称为ZFDebug,并且还有一个Doctrine适配器(默认情况下不在ZFDebug库中)。完整的说明在ZFDebug包内。 Doctrine插件显示所有事件,查询以及在数据库中所花费的时间。