Olá Diego, tudo bem? Espero que sim!
Na verdade, o método em si não está obsoleto, mas a forma como ele é utilizado mudou nas versões mais recentes do Symfony.
Antes, era comum utilizar o método getDoctrine
para obter o objeto EntityManager
e, a partir dele, realizar operações no banco de dados. No entanto, essa abordagem foi considerada obsoleta e agora é recomendado utilizar a injeção de dependência para obter o EntityManager
.
No seu código, você está utilizando o entityManager
diretamente, o que pode funcionar, mas não é a forma mais indicada. Uma alternativa seria injetar o EntityManagerInterface
no construtor da sua classe e utilizá-lo para obter o repositório de médicos. Ficaria algo assim:
use Doctrine\ORM\EntityManagerInterface;
// ...
private $entityManager;
public function __construct(EntityManagerInterface $entityManager)
{
$this->entityManager = $entityManager;
}
public function buscarTodos(): Response
{
$repositorioMedicos = $this->entityManager->getRepository(Medico::class);
$medicoList = $repositorioMedicos->findAll();
return new JsonResponse($medicoList);
}
Dessa forma, você está utilizando a injeção de dependência para obter o EntityManager
e não precisa mais utilizar o método getDoctrine
.
Espero ter ajudado!
Caso tenha dúvidas, fico à disposição.
Abraços e bons estudos!