Doctrine - постоянное соединение с базой данных PostgeSQL

125
16 ноября 2020, 11:50

Не могу понять, как работает соединение с БД в Doctrine.
Использую Symfony 4, запущен встроенный php-сервер.
Есть условный контроллер:

<?php
    namespace App\Controller;
    use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
    use Symfony\Component\Routing\Annotation\Route;
    use App\Entity\TaskTest;
    use Doctrine\ORM\EntityManagerInterface;
    use Symfony\Component\HttpFoundation\Response;
    use Symfony\Component\HttpFoundation\Request;
    class TaskTestController extends AbstractController
    {
        public function index(Request $request)
        {
            $entityManager = $this->getDoctrine()->getManager();       
            $sqlGet = 'SELECT * FROM some_test';
            $preparedSQL = $entityManager->getConnection()->prepare($sqlGet);
            $preparedSQL->execute();
            $allObjects = $preparedSQL->fetchAll();
            return new Response('$allObjects'.$allObjects);
        }
    }
?>

В продакшене предполагается использовать сервер nginx с PHP FastCGI. В связи с этим вопрос: будет ли EntityManager всегда создавать новое соединение с БД и при вызове $entityManager->getConnection() возвращать новый объект? Или соединение с БД будет где-то "висеть" открытым? Хотя, если так, то мне непонятно, как это возможно, ведь жизненный цикл php, насколько я знаю, предполагает, что после каждого исполнения процесс умирает.
Буду благодарен за ответы

READ ALSO
Сортировка элементов массива

Сортировка элементов массива

Имеется многомерный массив, выглядит он следующим образом:

117
Уровни исключений и логирование

Уровни исключений и логирование

Мне нужно разработать систему интеграции с различными информационными системами

135
Передача массива в Twig

Передача массива в Twig

Имеется многомерный массив $categories_arr:

125