Co je Doctrine 2 a jak funguje?

Co je Doctrine 2 a jak funguje?

Doctrine 2 je moderní knihovna pro PHP, která slouží jako tzv. ORM – Object-Relational Mapper. To znamená, že propojuje svět relačních databází a objektově orientovaného programování. Díky ní můžete pracovat s databázovými záznamy jako s běžnými PHP objekty, bez nutnosti psát SQL dotazy.

1. Jaký je princip ORM?

Místo toho, abyste ručně tvořili dotazy k databázi, vytvoříte si PHP třídy (tzv. entity), které reprezentují databázové tabulky. Doctrine se pak postará o zbytek – ukládání, čtení i mazání dat.

Příklad entity:

 use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity * @ORM\Table(name="articles") */ class Article { /** @ORM\Id @ORM\Column(type="integer") @ORM\GeneratedValue */ private $id; /** @ORM\Column(type="string") */ private $title; /** @ORM\Column(type="text") */ private $content; // gettery a settery... } 

Výše uvedená třída reprezentuje tabulku articles a sloupce id, title a content. Doctrine podle této definice automaticky vytvoří odpovídající SQL schéma a operace.

2. Z čeho se Doctrine skládá?

  • Entity – PHP třídy reprezentující tabulky
  • EntityManager – hlavní nástroj pro práci s daty (vkládání, načítání, mazání)
  • Metadata – informace o tom, jak entity mapovat
  • DQL – Doctrine Query Language, jazyk podobný SQL, ale nad entitami

3. Ukládání dat do databáze

Typický způsob práce v Doctrine vypadá takto:

 $article = new Article(); $article->setTitle("Nadpis článku"); $article->setContent("Obsah článku"); $entityManager->persist($article); // připraví ke vložení $entityManager->flush(); // provede zápis do DB 

Doctrine sama zjistí změny a vytvoří odpovídající SQL dotaz, například INSERT INTO articles ....

4. Výhody Doctrine 2

  • Práce s databází objektově a přehledně
  • Snadné propojení mezi tabulkami (vztahy OneToOne, ManyToMany, ...)
  • Bezpečnější než ruční SQL
  • Podpora migrací a cache

5. Nevýhody a na co si dát pozor

  • U složitých dotazů může být méně výkonná než ručně psané SQL
  • Náročnější ladění v komplexních aplikacích
  • Vysoká spotřeba paměti při práci s velkými objemy dat (ORM drží objekty v paměti)

Závěr

Doctrine 2 je robustní nástroj, který vývojářům výrazně usnadňuje práci s databází. Pokud vyvíjíte aplikaci v PHP (například v Symfony), určitě stojí za to se Doctrine naučit. Pomůže vám psát čistší, udržovatelnější a bezpečnější kód – a navíc vás zbaví nutnosti psát velké množství repetitivního SQL.

Poslední aktualizace článku proběhla 7.4.2025.

OBJEDNAT SEO OPTIMALIZACI

Líbí se vám článek? Dejte mu 5 hvězd!

Aktuální hodnocení článku 4.6/5 (23 hlasujících)

avatar autora Tomáš Rohlena
Tomáš Rohlena je zkušený specialista na SEO, vývoj webových stránek, portálů a digitálních aplikací, který propojuje technologické know-how s hlubokým porozuměním online marketingu a provozu webových projektů. Díky mnohaletým zkušenostem dokáže nejen optimalizovat weby pro maximální viditelnost ve vyhledávačích, ale také navrhovat efektivní strategie pro zlepšení konverzí a dlouhodobé udržitelnosti online projektů.
ikona sociální sítě ikona sociální sítě

Komentáře

Přidejte první komentář ke článku Co je Doctrine 2 a jak funguje?.

Přidat komentář

Kde je článek zařazen?

Kategorie: Programování
Štítky: php, databáze