Nette Forms generator – Generování formulářů ze struktury databáze
- nanuqcz
- Člen | 822
Ahoj,
přes noc jsem vytvořil takovou menší utilitu na generování kostry
formulářů z databázové struktury tabulky.
- Vyzkoušet a používat můžete zde: netteforms.webshake.cz.
- Vytvářet forky, posílat pull-requesty, či reportovat bugy, můžete na repozitáři na bitbucketu.
Samozřejmě budu rád i za jakékoli reakce zde na fóru.
Zatím v první beta verzi.
Editoval nanuqcz (3. 6. 2016 3:10)
- nanuqcz
- Člen | 822
Hází ti to 403.
Díky za upozornění, už by mělo jet.
Generuje mi to v labelu:
▓▓▓
To je schválně. Ten nástroj nemůže vygenerovat úplně vše. Znakem
▓▓▓
jsou označeny místa, která si musí programátor
dopsat, protože např. záleží na jazyku webu, apod. V základu jde jen
o chybové hlášky a flash messages.
EDIT: getParam()
změněn na getParameter()
Editoval nanuqcz (3. 6. 2016 8:40)
- nanuqcz
- Člen | 822
@Ot@s Nějak takhle to myslíš?
public function saveFooForm(Form $form)
{
$values = $form->values;
try {
// Save
if ($id = $this->getParameter('id')) {
// Update
$this->fooRepository->update($id, $values);
} else {
// Create
$this->fooRepository->create($values);
}
$this->flashMessage('▓▓▓', 'success');
$this->redirect('default');
} catch (\Exception $e) {
$this->flashMessage('▓▓▓', 'danger');
Tracy\Debugger::log($e, Tracy\Ilogger::EXCEPTION);
}
}
Trochu mi přijde, že každý si tohle řeší jinak. Někdo vyhazuje takové vyjímky, někdo jiné, v jiných případech, někdo radši vrací z repository TRUE/FALSE. Koukal jsem i do oficiálních Nette examples, jak se řeší ukládání formuláře tam, a vyjímky tam zpracovávané nejsou nijak.
Už se někde na fóru řešila best-practise ukládání formulářů do DB, co se týče vyjímek apod.?
Editoval nanuqcz (3. 6. 2016 11:27)
- nanuqcz
- Člen | 822
@Felix Díky, to jsem rád :-P
Rad bych pridal na componette podobne nastroje. Myslis, ze by jsi byl pro?
Myslíš jako nějak takhle? http://i7.5cm.ru/i/jAtQ.png To bych určitě pro byl. Pokud to myslíš jen jako přidat do „Add-ons“ sekce, tak tam to podle mě nepatří.
Ale kdyby se chtělo někomu s něčím úplně moc pohrát, tak v Nette podle mě chybí konzolové nástroje (třeba i na generování formulářů), jako má např. Symfony. Tenhle můj online nástroj je jen taková berlička, protože udělat to ideálně jsem neměl čas :-)
Editoval nanuqcz (3. 6. 2016 13:14)
- Felix
- Nette Core | 1196
nanuqcz napsal(a):
@Felix Díky, to jsem rád :-P
Rad bych pridal na componette podobne nastroje. Myslis, ze by jsi byl pro?
Myslíš jako nějak takhle? http://i7.5cm.ru/i/jAtQ.png To bych určitě pro byl. Pokud to myslíš jen jako přidat do „Add-ons“ sekce, tak tam to podle mě nepatří.
Ale kdyby se chtělo někomu s něčím úplně moc pohrát, tak v Nette podle mě chybí konzolové nástroje (třeba i na generování formulářů), jako má např. Symfony. Tenhle můj online nástroj je jen taková berlička, protože udělat to ideálně jsem neměl čas :-)
Nene, myslel jsem neco jako samostatny projekt na
https://tools.componette.org/form-generator
. Nebo tak nejak.
- nanuqcz
- Člen | 822
Aha, podobných nástrojů by mohlo časem vzniknout víc. Takže můj názor obecně:
Podle mě by bylo lepší umístit (někam, třeba na componette) jen odkaz na takový nástroj, a to z několika důvodů:
- Bude snažší pro všechny lidi takový nástroj vytvořit. Na vlastním serveru, s externími knihovnami, které jim vyhovují, atd.
- Bude snažší takový nástroj udržovat. Autor nemusí posílat žádné pull-requesty do repozitáře „componette/tools“, starat se o kompatibilitu s verzí Nette, která zrovna componette.org pohání atd.
- Autor tím získá lepší prezentaci toho, že nástroj udělal on. Což je jediná odměna, kterou za svoji práci na nástroji zdarma dostane :-)
Pokud chceš udělat fork nanuqcz/NetteForms a integrovat to přímo do componette, můj souhlas máš, vydal jsem to přecijen jako svobodný open-source. Ale nemyslím si, že by to mělo mít nějaký přínos.
Editoval nanuqcz (3. 6. 2016 17:36)
- ic
- Člen | 430
nanuqcz napsal(a):
… Aktuálně se to bere z názvu sloupečku:
*_id
: addSelect() na cizí tabulku*_path
: addUpload()
Také pěkné řešení, ale email je jen takový nejokatější případ,
napojit takhle všechny nové tipy inputů ( http://html5doctor.com/…input-types/#… ) by mohlo být
riskantní, že se třeba někde střelí number
(jinak velmi
užitečné) kam nepatří a další podobné.