Introdução
Symfony é um dos frameworks PHP mais utilizados no desenvolvimento Web. O Symfony tem muitas características e componentes poderosos, tornando-o um dos mais preferíveis nos projetos de desenvolvimento de aplicativos da Web. Além disso, o Symfony também tem suporte para o ORM Doctrine, que é um dos ORMs mais populares devido à sua simplicidade, desempenho e recursos.
O que é o ORM Doctrine?
O ORM Doctrine é uma biblioteca do Symfony usada para mapear objetos de uma aplicação para uma tabela no banco de dados. O ORM Doctrine permite que os desenvolvedores trabalhem facilmente com bancos de dados, criem consultas, relacionamentos e muito mais, sem preocupações de escrita de SQL complexo. Basicamente, o ORM Doctrine converte códigos PHP em instruções SQL para operar as tabelas no banco de dados.
Como instalar o ORM Doctrine no Symfony?
Para instalar o ORM Doctrine no Symfony, execute o seguinte comando no terminal:
composer require symfony/orm-pack
Isso instalará o ORM Doctrine e suas dependências no seu projeto Symfony. Em seguida, configure as informações do banco de dados no arquivo .env.
Como criar e migrar tabelas no banco de dados usando o ORM Doctrine?
O ORM Doctrine permite que os desenvolvedores criem tabelas no banco de dados usando entidades. Uma entidade no ORM Doctrine é uma classe PHP que representa uma tabela no banco de dados. Para criar uma entidade no Symfony, execute o seguinte comando:
php bin/console make:entity
Este comando criará uma classe PHP que representa uma tabela no banco de dados. Depois que a entidade é criada, é possível aplicar as migrações no banco de dados usando o seguinte comando:
php bin/console make:migration
php bin/console doctrine:migrations:migrate
Isso aplicará as migrações no banco de dados associado ao projeto Symfony.
Como realizar operações CRUD (Create Read Update Delete) no banco de dados usando o ORM Doctrine?
O ORM Doctrine oferece uma maneira fácil de realizar ações CRUD no banco de dados. Para criar um registro no banco de dados, use o seguinte código:
$entityManager = $this->getDoctrine()->getManager();
$product = new Product();
$product->setName('Symfony T-shirt');
$product->setPrice('10.99');
$entityManager->persist($product);
$entityManager->flush();
Este código cria um novo objeto product e persiste no banco de dados. Para ler registros, use o seguinte código:
$productRepository = $this->getDoctrine()->getRepository(Product::class);
$product = $productRepository->find($id);
Este código procura um registro no banco de dados com o ID fornecido. Para atualizar um registro no banco de dados, use o seguinte código:
$entityManager = $this->getDoctrine()->getManager();
$product = $entityManager->getRepository(Product::class)->find($id);
$product->setName('Symfony Hoodie');
$entityManager->flush();
Este código atualiza o nome de um registro específico no banco de dados. Para excluir um registro do banco de dados, use o seguinte código:
$entityManager = $this->getDoctrine()->getManager();
$product = $entityManager->getRepository(Product::class)->find($id);
$entityManager->remove($product);
$entityManager->flush();
Este código remove um registro específico do banco de dados.
Conclusão
O ORM Doctrine é uma ferramenta poderosa que torna o trabalho do desenvolvedor com bancos de dados e registros muito simples. Descobrimos como instalar, criar e migar tabelas, além de realizar operações CRUD usando o Symfony e a ORM Doctrine. Com sua simplicidade e funcionalidade, o ORM Doctrine é uma escolha popular para trabalhar com bancos de dados no Symfony.