Symfony 6 — Помогите мне понять доктрину и базы данных

Код ниже был взят из документации Symfony 6 https://symfony.com/doc/current/doctrine.html#persisting-objects-to-the-database .

      // src/Controller/ProductController.php

namespace App\Controller;

// ...
use App\Entity\Product;
use Doctrine\Persistence\ManagerRegistry;
use Symfony\Component\HttpFoundation\Response;

class ProductController extends AbstractController
{
   /**
    * @Route("/product", name="create_product")
    */
   public function createProduct(ManagerRegistry $doctrine): Response
   {
       $entityManager = $doctrine->getManager();

       $product = new Product();
       $product->setName('Keyboard');
       $product->setPrice(1999);
       $product->setDescription('Ergonomic and stylish!');

       // tell Doctrine you want to (eventually) save the Product (no queries yet)
       $entityManager->persist($product);

       // actually executes the queries (i.e. the INSERT query)
       $entityManager->flush();

       return new Response('Saved new product with id '.$product->getId());
   }
}



Мои вопросы заключаются в следующем:

  1. Как разработчик выбрал класс для этого проекта, потому что, просматривая класс, я не мог найти ничего полезного, скажем так, или выдающегося. Обратите внимание, что приведенный выше код работает отлично, я просто хочу знать шаблон мышления, который сопровождает выбор класса. ManagerRegistry.

  2. Далее, зачем разработчик это сделал $entityManager = $doctrine->getManager();, чего он от этого добился.

  3. Наконец, я dd()оба $doctrineа также $entityManagerи получил некоторые странные результаты. Что это такое и как я могу их использовать.

0 ответов

Другие вопросы по тегам