Složitějsí aplikace v nette
- Nutelac
- Člen | 58
Tvořím větší aplikaci na Nette a nevím si rady s pár věcmi.
1, Model: Nedaří se mi vymyslet pořádný model postavený na Nette\Database. Doctrine 2 jsem zkoušel, ale přijde mi, že se s Nette moc nekamarádí. 5 vrstev modelu mi přišlo moc složité (úložiště měnit nebudu). Zatím jsem vymyslel něco takového:
Table – find*, save (zápis do tabulky a vazebních sloupců), delete,
atd. metody pro konkrétní tabulku.
Service – Obalení funkcí z Table do metod (createUser, removeUser).
Neznáte něco lepšího, nebo tohle stačí?
2, Formuláře: Dostal jsem nápad, že bych pro každý formulář vytvořil abstraktní třídu, která by obsahovala jen vzhled a validaci (např. UserForm) a speciální případ UserFormu (např. EditUserForm) by obsahoval naplnění formuláře a formulář by ukládal (např. metoda process()). Formuláře bych poté jen volal z presenteru. Je vhodné něco takového používat, nebo to má nějaké úskalí?
Neznáte ještě nějaké tipy při tvorbě větší aplikace? Díky
Editoval Nutelac (22. 9. 2012 19:42)
- pawouk
- Člen | 172
1 Model: Moc nechápu co řešíš. Na nette\database není moc coc řešit. Můžeš být konkrétnější?
2 Formuláře abstraktní třídu která by řešila validaci a vzhled? To je nějaké divné ne? Vzhled řešíš znad v šabloně, validaci zase ve třídě, to moc nejde dohromady… UserForm a EditUserForm může být uplně ten samí formulář do kterého bud narveš usera – setUser($user) nebo ne. Pokud ho tam narveš tak se vyplní hodnoty atd… pokud ne tak jen vykreslíš např pro registraci.
- Tomáš Votruba
- Moderator | 1114
K inspiraci:
- model nad NotORM (podobný k NDB)
- UserForm, který řeší obě požadované varianty (přidat i upravit)