Automatické vytváření CRUD

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Peetee
Člen | 75
+
0
-

Ahoj,

mám takový nápad… Zrovna pracuji na projektu, kde se pořád dokola opakuje CRUD – u spousty databázových tabulek potřebuju jednoduše vypsat záznamy, přidat nový, editovat a odstranit – je to pořád dokola, je to náchylné k chybám a zároveň je strašně otravné. Poočku jsem pokukoval po generátoru např. scaffold, ale nakonec jsem se vydal jinou cestou, zatím je to ve stádiu prototypu, ale mohlo by se to používat například takto:

<?php

class TstPresenter extends CrudPresenter {
	 function startup() {
		parent::startup();
		parent::setTable('nazev-tabulky');
	}
}
?>

A to je vše… nic víc… pokud budete chtít editovat nějakou tabulku, stačí pouze vytvořit Presenter, který bude dědit z CrudPresenteru a nastavit název tabulky – všechno ostatní se podědí a v případě, že se mi to nebude líbit, můžu to jednoduše přepsat.

Proč to sem píšu? chtěl bych poprosit o názor, myslíte, že podobné řešení má vůbec smysl? V celé té teorii vycházím z toho, že se všechna důležitá data načtou z db a na základě jednoduché logiky se dokáže vygenerovat formulář. Samozřejmě by se později mohlo(/muselo) doplnit velké množství nastavení, ale nebude to pak kontraproduktivní?

jtousek
Člen | 951
+
0
-

Tímto způsobem je vhodné řešit pouze věci do určité složitosti. Nemá smysl dělat spousty optionů, lepší je přímo podědit dané třídy a napsat to tam.

na1k
Člen | 288
+
0
-

Něco podobného jsem už chtěl taky psát. Pak jsem ale dospěl k tomu, že než bych něco takového (použitelně) naprogramoval, měl bych hotové další dva weby :-|

Takže myslím, že takový nástroj by se hodil jenom ve chvíli, kdy víš, že budeš pracovat na několika projektech, kde se budou generovat odlišné presentery, tj. nebude stačit je udělat jednou a kopírovat.