Doctrine 2 je nový ORM framework pro jazyk PHP. V porovnání s již existujícími systémy pro mapování objektů na relační databázi přináší zajímavý posun a má velkou šanci stát se v budoucnu převládajícím ORM pro aplikace psané v jazyce PHP. V několika dílech tohoto seriálu si Doctrine 2 postupně představíme.
V úvodním článku seriálu jsme si systém Doctrine 2 obecně představili, ukázali si, kde jej stáhnout a jak jej nainstalovat. Dneska se pustíme do skutečné práce, řekneme si, co jsou vlastně entity a jak se s nimi v Doctrine 2 pracuje. Téma nám vydrží až do příště.
V minulém díle seriálu jsme nakousli téma entit v Doctrine 2. Dnes budeme s entitami pokračovat a podíváme se na některé pokročilejší možnosti jejich definice a práce s nimi.
Seriál o novinkách, které pro vývojáře v PHP přináší databázová knihovna (ORM) Doctrine 2, pokračuje. V ukázkách minulých dílů jsme se letmo dotkli Entity Manageru. Dnes se na něj podíváme podrobněji a ukážeme si základní způsoby, jak své entity načítat, ukládat a mazat.
V rámci seriálu o Doctrine 2 dnes budeme pokračovat v tématech nakousnutých posledně. Podíváme se podrobněji na stavy entit v průběhu jejich života. Ukážeme si nejdůležitější fungování UnitOfWork i práci s transakcemi a zamykáním.
Asociace jsou v terminologii ORM analogií ke vztahům mezi tabulkami u relačních databází. Je to jednoduše způsob, jak namapovat vazby mezi entitami na cizí klíče v databázových tabulkách. V článku si ukážeme, jak s těmito asociacemi pracovat v ORM Doctrine 2.
Dnes budeme pokračovat v tématu asociací v Doctrine 2. Představíme si možnosti kaskádového peristování, odpojování a mazání. Podíváme se podrobněji na kolekce a práci s nimi. Nejprve si ale ukážeme správné postupy při definicích getterů, setterů a dalších obslužných funkcí pro manipulaci s asociacemi.
Dotazovací jazyk DQL (Doctrine Query Language) je jednou z nejsilnějších zbraní Doctrine 2. Kombinuje v sobě přímočarost dotazovacího jazyka SQL a nezávislost objektové entitní vrstvy modelu. Pokud berete práci s Doctrine 2 alespoň trochu vážně, bez DQL se rozhodně neobejdete.
V předchozím dílu jsme si představili dotazovací jazyk DQL (Doctrine Query Language). Při práci s Doctrine 2 nejste ale omezeni pouze na DQL. Dneska si ukážeme další dvě cesty, jak si v Doctrine 2 připravit dotaz do databáze – Query Builder a nativní SQL.
V předchozích dílech seriálu jsme si představili základní možnosti Doctrine 2. S nimi dokážete zajistit jednoduché mapování objektů na databázi. Dnes a příště se podíváme na první z pokročilejších témat, a to na životní cyklus entity, události, listenery a subscribery.