Не могу понять, как работает соединение с БД в 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, насколько я знаю, предполагает, что после каждого исполнения процесс умирает.
Буду благодарен за ответы
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Мне нужно разработать систему интеграции с различными информационными системами