Jak na složitější model?
- MilanLempera
- Člen | 11
Zdravím,
už nějaký čas hledám něco jako konečné řešení modelu.
Pročetl jsem většinu témat o návrhu modelu nejen tady na fóru (třeba https://forum.nette.org/…vs-db-tabuly,
nebo http://www.phpguru.cz/…rstev-modelu).
Před půl rokem se to řešilo skoro všude, včetně pokusů o ORM, ale
aktuálně jsem žádné podobné téma nenašel.
Co od modelu očekávám:
- změnu databáze (uložiště) by měla umožnit změna pouze jedné třídy (vrstvy)
- model by měl být řízen daty (nést v sobě informace o uložišti a
podle nich pracovat)
- to by ve výsledku mohlo umožnit práci s více verzemi jedné entity (např. přidání atributu v entitě od určitého data, při zachování funkčnosti starších záznamů)
- model by měl zvládat validaci podle životního cyklu konkrétní entity (řízenou daty)
- v modelu (případně v další vrstvě nad ním) by měla být řešena přístupová oprávnění jednotlivým entitám dle jejich stavu (opět řízena daty)
- ideálně by mělo být všechno napsané tak, aby bylo možné model generovat na základě metainformací o databázi
Na jednoduché entity jako jsou články, nebo stránky je taková struktura zbytečně složitá, ale u entit se složitým životním cyklem na kterém závisí přístupová oprávnění a validační pravidla by se nějaké systémové řešení hodilo.
Taky si zatím nejsem jistej, jestli je lepší si tohle všechno napsat sám, nebo jestli využít nějaké ORM a vybudovat na něm další vrstvy.
Jak moc vám přijdou tyhle požadavky reálné/scestné? A jak řešíte složitější modely vy?
- Honza Kuchař
- Člen | 1662
Já používám takové cosi postavené nad Ormionem. Ale je to při porovnání s kódem Nette příšerný bastl, se špatným návrhem. Takže zatím je to ve fázi konceptu a ještě alespoň půl roku bude. Navíc, pokud to budu někdy uvolňovat (za rok/dva), tak určitě ne opensource. ;)
Ale nad tím Ormionem to nebude vůbec těžké napsat. Pokud vím, tak je to nějakých 200 – 300 řádků. Akorát zatím nemám pořešená oprávnění… Ale to by s ACL neměl být nějak zvlášť problém.
- MilanLempera
- Člen | 11
Na ormion jsem se díval, určitě je to dobrá inspirace, ale některé věci bych řešil jinak.
A věta „Používání Ormionu je jen na vlastní nebezpečí. Zkuste Doctrine 2.“ v readme mě nějak nepřesvědčila o tom, že bych na tom měl něco stavět :-)
Každopádně pokud bych měl něco takového psát, z ormionu bych určitě čerpal.
Editoval MilanLempera (3. 11. 2010 20:47)
- Honza Kuchař
- Člen | 1662
Já používám nějakou hodně starou verzi. Ještě určitě mnohem více vývojovou a taky trochu dovyvinutou vlastními silami. Klidně ti ten ormion pošlu – ale jen na vlastní nebezpečí. :) Jako každý open-source software. ;)
- MilanLempera
- Člen | 11
Že je to na vlasní nebezpečí mě netrápí (vlastně, co není, že?) spíš mě zarazilo to Zkuste Doctrine 2 :-)
Já mám verzi co je na githubu, ale jestli můžeš, pošli mi tu tvoji verzi, rád se na to podívám (milanlempera@gmail.com)