Doctrine je pokročilá knižnica PHP na objektovo orientovanú prácu s databázami. Hlavným účelom a cieľom Doctrine je popísať databázovú schému pomocou dátových entít a manipulovať s údajmi plne objektovo orientovaným spôsobom.
Táto paradigma sa nazýva ORM (Object-relational mapping), čo je design-pattern na konverziu (obalenie) údajov uložených v relačnej databáze na objekt, ktorý možno použiť v objektovo orientovanom jazyku. Preto, aby ste pochopili a používali Doctrine, musíte poznať aspoň základy objektovo orientovaného programovania.
Existuje mnoho dôvodov:
Autor tohto článku (Jan Barasek) dlhodobo zastáva názor, že Doctrine je najlepší spôsob práce s databázou PHP. Jednoducho nemá konkurenciu.
Skôr ako začnete naplno používať Doctrine, musíte si pripraviť vhodné prostredie. Ak s PHP len začínate alebo nemáte staršie znalosti, najlepšou voľbou je nainštalovať Nette Framework s balíkom rozšírenia Baraja Doctrine, ktorý automaticky integruje plnú podporu. Najprv si stiahnite balík prostredníctvom Composer, potom nastavte rozšírenie DI a Doctrine začne pracovať automaticky.
Aby Doctrine fungoval správne, je potrebné pripraviť prázdnu databázu (Doctrine môže pracovať s existujúcim projektom, ale pre prvé kroky je to nevhodné, pretože hrozí prepísanie existujúcich údajov) a nakonfigurovať pripojenie. Keďže Doctrine nie je len databázová knižnica, ale poskytuje pokročilý databázový rámec, musíte vyriešiť ďalšie konfigurácie. Väčšina nastavení je automaticky prepísaná v tomto balíku pre Nette, avšak v minimálnej konfigurácii musí váš server podporovať rozšírenia APCu Cache
alebo SQLite3
.
Ak bolo všetko správne nakonfigurované, v Nette sa vytvorí nová služba DI Baraja\Doctrine\EntityManager
, ktorú môžete injektovať do programu Presenter:
namespace App\FrontModule\Presenters;use Baraja\Doctrine\EntityManager;final class HomepagePresenter extends BasePresenter{#[Inject]public EntityManager $entityManager;}
Ak sa vám podarí injektovať základnú službu EntityManager, môžete sa začať učiť a pracovať s Doctrine.
Nasledujúce kapitoly sú kombináciou referenčnej príručky technológie Doctrine, dlhoročných skúseností, návrhových vzorov a hotových riešení. Spoločne prejdeme všetky základné prvky Doctrine od definovania vlastnej entity, cez generovanie fyzickej schémy databázy až po prácu s nástrojom na tvorbu verzií a produkčné nasadenie.
Doctrine používam už veľmi dlho a vyriešil som v nej tisíce prípadov. Ukážeme si tipy a triky, ako používať Doctrine na optimalizáciu rýchlosti databázy a ako vhodne navrhnúť databázu. Doctrine môžete použiť aj pre existujúci projekt (ak spĺňate určité podmienky) a my vám ukážeme, ako na to.
Táto séria článkov bola vytvorená s cieľom pomôcť mojim študentom v oblasti školení a poradenstva. Ak potrebujete niektoré témy podrobnejšie prediskutovať alebo vysvetliť, môžete mi napísať na e-mailovú adresu jan@barasek.com. Keďže ide o pomerne náročnú technológiu, všetky otázky budú považované za platenú konzultáciu.
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | sk