Článek vyšel na serveru Zdroják.
První část videotutoriálu se zabývala získáváním dat. Silnou stránkou Doctrine 2 je ale podle některých názorů hlavně ukládání dat. Podle mě je sice ukládání dat ta jednodušší část, na které se toho nedá moc pokazit ani získat, ale podívejme se, jak se s touto částí aplikace Doctrine 2 vypořádá.
Co se mi na řešení v Doctrine nelíbí?
NULL
.Některé připomínky lze naštěstí poměrně snadno vyřešit. Body 1 a 2 zmizí v případě, že místo metody find
použijeme metodu getReference
. U nich jde tedy spíše o kritiku seriálu na Zdrojáku, který sice ukládání dat věnuje jeden díl, ale o této důležité metodě se nezmiňuje.
Bod 4 přímo řeší některé databázové systémy. Např. v MySQL lze zapnout striktní režim, který při pokusu o vložení neplatných dat způsobí chybu, ale třeba v SQLite nic takového neexistuje. Doctrine obsahuje vrstvu pro abstrakci databázových systémů, která by chování měla sjednocovat.
Body 5 a 6 lze vyřešit použitím DQL. To už jsme rozebírali v prvním díle – jednak bych se u tak vysoké vrstvy, jakou Doctrine je, chtěl použití DQL pokud možno úplně vyhnout. A za druhé mi stejně jako v prvním díle vadí, že se dvě podobné věci dělají zcela odlišným způsobem – když chci vynulovat počet návštěv u jednoho článku, tak k tomu můžu použít práci s entitami, když u více článků, tak je vhodné použít DQL (obdobně zvyšování počtu návštěv oproti nastavování pevného počtu).
Ve srovnání s Doctrine vidím tyto rozdíly:
Ani při ukládání dat mi knihovna Doctrine 2 příliš nevyhovovala. Ve třetí části se podíváme na definici modelu.
Diskuse je zrušena z důvodu spamu.