Jak správně rozšiřovat doplňky jako Kdyby\Translation
- maral
- Člen | 25
Ahoj, používáme na projektu (potenciálně velkém) Kdyby Translator (tímto moc děkujeme za skvělý doplněk!), a chceme upravit triviální věc, to jest prohodit dva nepovinné parametry funkce translate, totiž $count a $parameters, protože typicky budeme mnohem častěji využívat $parameters, $count spíš jen okrajově a nechceme psát pořád dokola NULL do druhého parametru.
Doplněk má poměrně složitou strukturu, sám se registruje pomocí Nette\DI\CompilerExtension, se kterým nemám žádné zkušenosti, a není zřejmé, jak správně rozšířit / zdědit od třídy Translator, když chci pouze přepsat jedinou metodu.
Jaké je nejjednodušší a zároveň udržitelné řešení (aby při dalším updatu doplňku vše fungovalo)?
- Filip Procházka
- Moderator | 4668
Prohazovat parametry určitě není dobrý nápad, daleko efektivnější je udělat jeden nepovinný. Přesně tak, jako to dělá helper v latte šablonách, který se sám registruje právě v CompilerExtension, ten sežere všechny tyto varianty.
{_front.homepage.hello}
{_front.homepage.hello, 10}
{_front.homepage.hello, [param => value]}
{_front.homepage.hello, 10, [param => value]}
Myslím si, že bychom to mohli dokonce dát přímo do Kdyby :)
Edit: to by šlo, ne? Kdyby/Translation/Translator.php
- maral
- Člen | 25
Ten helper to měl sežrat všechno? Protože ani tam mi to předtím nefungovalo. Updatnul jsem a ještě jsi tam měl drobnou chybku, tím posunutím parametrů se nastavila špatně default hodnota pro domain.
Hodil jsem ti pull-request s fixem. Potom už to fungovalo, a v tom helperu tím pádem taky. Díky moc!