Как получить статистику запроса информации (информацию) в Symfony

Помимо стандартных устройств Symfony devtools, которые предоставляют подробную информацию о ваших запросах, вы можете получить эту информацию, чтобы показать ее своим пользователям. Внутри пользовательского объекта DebugStack вы найдете информацию, такую ​​как время в миллисекундах, которое потребовало выполнения запроса, сам запрос SQL и некоторые другие параметры.

Чтобы получить эту информацию, вам нужно включить SQLLogger в конфигурацию доктрины ваших контроллеров:

class myController extends Controller
{
public function indexAction()
{
// Start setup logger
$doctrine = $this->getDoctrine();
$doctrineConnection = $doctrine->getConnection();
$stack = new \Doctrine\DBAL\Logging\DebugStack();
$doctrineConnection->getConfiguration()->setSQLLogger($stack);
$em = $doctrine->getManager();
// End setup logger
/**
* Execute here all your queries
*  $em->getRepository(...)->find(...)
*/
return $this->render('somebundle:myBundle:index.html.twig',array(
'stack' => $stack
));
}
}

Используя веточку (или var_dump если вы не используете веточку) функция dump должна вывести объект со следующей структурой:

Статистика запросов доктрины Symfony 2

Повеселись

Ссылка на основную публикацию