V tomto článku si představíme způsob, kterým můžeme zvýšit výkon a snížit nároky webové aplikace využívající Doctrine 2 s minimálním zásahem do aplikace.
Archiv pro štítek: Doctrine
Jakub Kulhan dával na Twitteru odkaz na slajdy o nejlepší praktikách v Doctrine. Protože se o práci s databází zajímám, slajdy jsem si prošel. Některé praktiky mi přijdou dobré, některé věci bych řešil jinak. Určitě si projděte i ty slajdy, já reaguju jen na to, co mě dovedlo k zamyšlení.
V dnešním dílu budeme pokračovat v navěšování vlastních funkcí na události v rámci životního cyklu entity. Projdeme podrobněji práci s jednotlivými handlery pro různé typy událostí, ukážeme si jejich specifika a konkrétní praktické příklady.
Seriál o Doctrine 2 od Honzy Tichého vzbuzuje mnohé diskuse. Jedním z vášnivých diskutujících je i autor následujícího textu z rubriky Subjektivně, Jakub Vrána. Rozhodl se na Doctrine 2 podívat kritickým okem a srovnat přístup tohoto ORM řešení s přístupem, který použil ve své knihovně NotORM.
Doslova před několika hodinami byla uvolněna první ostrá verze ORM knihovny Doctrine 2 (znáte ze seriálu Jana Tichého). Informace přinesl blog Doctrine. Můžete si ji stáhnout přes Git nebo jako PEAR.
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.
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.
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.
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.
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.