Úprava Nette\Forms\Controls\BaseControl s vlastními formulářovými prvky

Intapps
Člen | 8
+
0
-

Ahoj,
ve starším projektu máme vytvořeny vlastní formulářové prvky, které dědí od Nette tříd: např.
class Checkbox extends \Nette\Forms\Controls\Checkbox
A ve třídě Nette\Forms\Controls\BaseControl, od které dědí tyto Nette třídy jsou natvrdo upravené některé metody a atributy.
Chtěl bych se toho zbavit, na jiném místě jsem to vyřešil vytvořením traity, kterou jsem použil ve všech vlastních třídách. Tady to ale nejde kvůli změně atributu $idMask.
Jak toto řešíte? Resp. by mě to zajímalo i obecně, jak řešíte úpravu „Base“ nettích tříd…

Martk
Člen | 651
+
0
-

Atribut $idMask je statický, to se dá měnit kdekoliv.

Intapps
Člen | 8
+
0
-

Martk napsal(a):

Atribut $idMask je statický, to se dá měnit kdekoliv.

To jo, ale já mám víc než 10 vlastních formulářových prvků a chtěl bych mít u toho atributu jednu společnou výchozí hodnotu…
Nebo když opravdu tenhle dotaz převedu do obecné roviny: chci si upravit jednu metodu ve třídě Nette\Forms\Controls\BaseControl. A to tak, aby z ní dědily Nette formulářové prvky (třídy jako Checkbox, Button, RadioList,…) i mé vlastní. Jak toho nejlépe docílit?