Как профилировать Доктрину в Zend Framework - PullRequest
0 голосов
/ 15 марта 2010

Добрый день.

Я использую Doctrine в качестве ORM для моего проекта Zend Framework. Это первый раз, когда я использую его. Я следовал главам Учения ZendCasts, и у меня все работает, но мне нужно было выполнить некоторое профилирование;

Существует класс Doctrine_Connection_Profiler, который следует использовать для профилирования внутренних запросов модели Doctrine, но я пытался использовать его безуспешно. Я всегда получаю исключение «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; Странно то, что веб-приложение прекрасно работает даже с упомянутой строкой кода.

Большое спасибо за вашу помощь.

прошу прощения, если мой английский не самый лучший.

1 Ответ

2 голосов
/ 22 марта 2010

Существует сторонний плагин и библиотека для Zend Framework, которые помогли мне с этой проблемой. Библиотека называется ZFDebug, в ней также есть адаптер Doctrine (который не входит в библиотеку ZFDebug по умолчанию). Полные инструкции находятся внутри пакета ZFDebug. Плагин Doctrine отображает все события, запросы и измеренное время, проведенное в базах данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...