Doctrine2 – EntityManager vs EntityDao
- PhelixMad
- Člen | 36
Dobrý deň, práve som začal používať Doctrine2 a jedna vec ma mätie a
to aky je rozdiel medzi EntityManager
a EntityDao
? Na
internete čo su tutorialy pre amaterov, tak všade spomínajú len
EntityManager a tu na forume plus nejake open nette projekty používajú
EntityDao a ja nechápem nejak rozdiel medzi nimi.
Bol by niekto taký ochotný a vysvetlil mi to v skratke?
- David Matějka
- Moderator | 6445
EntityDao je „vynalez“ @FilipProcházka, ktery rozsiruje EntityRepository o moznosti ukladani (EntityRepository umoznuje pouze cteni), nicmene se to ukazalo jako slepa cesta, ktera jiz neni doporucovana
- Filip Procházka
- Moderator | 4668
Viz https://github.com/…epository.md a https://github.com/…cs/en/dao.md
DAO bylo fajn na některý věci, ale když jsem viděl co s tím někteří dělají, neunesl jsem to a musel jsem to označit jako deprecated.
A pokud začínáš nový projekt, tak si nastav rovnou i
doctrine:
defaultRepositoryClassName: Kdyby\Doctrine\EntityRepository
- newPOPE
- Člen | 648
No jo @FilipProcházka spekuloval a vyspekuloval :). V podstate ale siel dobrou cestou kedze ked sa pozries ako je vizualizovany Repository pattern tak tam najdes aj metody ako insert, update, … akurat to nazval DAO.
Ovela dolezitejsie je ako pristupis k modelovaniu modelu to je to co riesi business logiku. Ludia stale dokola opakuju tu istu chybu a to ze prepokladaju ze k jednej tabulke musi byt jedna entita, jedna repository a v horsom pripade to nazvu model.
Takze ci uz budes pouzivat repository na citanie a entityManager na ukladanie je na tebe. V podstate si stale vystacis len s entityManagerom a nemusis pisat repositories.