Prosto učitanje, čuvanje, brisanje + keš + par sitnica (lazy load kolone npr) dobiješ gotove. Proizvod je jasno definisan, proširiv API za sve objekte koje čuvaš u bazi podataka.
Poenta ovoga nije da u potpunosti zameni SQL (kao recimo Criteria kod Propela / Torquea) ili nešto slično tome. Poenta je da napraviš granicu između aplikacije i baze (da ne moraš non stop da brineš o njoj) i automatizuje smorne delove.
Kad treba da odradiš neki složeniji upit samo odradiš:
PHP kôd:
return Messages::loadFromResult(db_execute($sql));
Cilj je da se poveća produktivnost i olakša rad, ne da ti sistem visi kao kamen oko vrata koji moraš da vučeš.
Izmena: Pogledah DB_DataObject. Zahteva šemu... Pošto znam kakav je smor kad imaš šemu i kompleksan build proces (Propel) pa malo malo treba da rebuilduješ pored klasa i tabele u bazi to sam izbegao. Imaš bazu, odatle generator kupi informacije o klasama i to je to. Problem je što si osuđen samo na informacije koje baza pazi o tabeli, ali u ogromnoj većini slučajeva to je i više nego dovoljno. Po meni ne pruža svu fleksibilnost šema, ali radi posao dovoljno dobro...