Oznámení
Generování formulářů pro entity
před 5 lety
- greeny
- Člen | 406
Zdravím, začal jsem si trochu hrát s generováním formulářů pro entity.
Byl to jen takový nápad, ale zajímalo by mě, jak / jestli by se to dalo vylepšit, uvítám jakékoliv návrhy, připomínky…
https://github.com/…Generate.php
Použití:
$form = Generate::from($entity);
$form = Generate::from($entity, $formClass);
$form = Generate::from($entity, new CustomForm);
Vygeneruje formulář pro danou entitu, druhý parametr umožní nastavit formulářovou třídu nebo předat přímo Form.
před 5 lety
- castamir
- Člen | 631
Upřímně nevím, jestli je to k něčemu dobré… u stringových bez nějaké další nápovědy nikdy nebudeš vědět, zda máš použít input nebo textarea nebo obecně hidden… ne všechny properties jsou navíc určeny k formulážové editaci (přinejmenším ty property-read určit editovat nebudeš). A to nemluvím o validacích a hláškách.
Tady by spíš byl vhdný generátor pro konkrétní IDE, který ti ten formulář nachystá a ty ho podle svého jen upravíš…
před 5 lety
- greeny
- Člen | 406
@castamir formulář ti to jen vrátí, ty ho můžeš jednoduše upravit. Read-only property jsou vyloučeny (https://github.com/…Generate.php#L30). Já například tento kód použil v administraci u jednoho projektu na 90% místech a ušetřil jsem asi 100 řádek manuálního vypisování kódu (hlášky mě stačily defaultní).
Ale díky za názor, chápu, že to pro některé projekty není vhodné.
před 5 lety
- castamir
- Člen | 631
zkus tam přidat whitelist, který upřesní, které properties se mají použít. Jak řešit textarea ale pořád nevím…
před 5 lety
- Michal III
- Člen | 84
Textarea by se dala vyřešit pomocí nějakého custom flagu…
Třeba by to mohlo mít flag m:size(xx)
, který by zároveň
určoval maximální velikost řetězce v db (stejný flag se právě objevuje
v generátoru db schéma, který se zde již také objevil). Pokud by flag byl
nastaven, může se ve formuláři zároveň nastavit maximální délka, pokud
ne → použít textareu.