Kdyby\Events nejde zaregistrovat listener
- BuGeR
- Člen | 45
Zdravím,
snažím se registrovat listenery v configu takto:
events:
listeners:
- App\TestListener
Ale nefunguje to – můžu tam napsat libovolný název listeneru, ale příjde mi, že je to úplně ignorováno.
Netušíte proč? Nechci registrovat listenery jako služby a psát zdlouhávé 3 řádky pro každý listener zvlášť.
TestListener:
class: App\TestListener
tags: [kdyby.subscriber]
Díky všem!
- David Matějka
- Moderator | 6445
nema to byt listeners, ale subscribers:
events:
subscribers:
- App\TestListener
- David Matějka
- Moderator | 6445
@Oli predpokladam, ze @BuGeR jde o to, aby to rvalo, ze pouzil neexistujici klic „listeners“
@BuGeR ano, slo by to. stejne tak to delaji zakladni nette extensions. jen to nekdo musi napsat :)
- jiri.pudil
- Nette Blogger | 1032
Pro-tip: pokud nechceš pro každý listener psát záznam na tři řádky, můžeš to obejít dekorátorem, který ke službám daného typu doplní tagy apod. automaticky:
decorator:
Kdyby\Events\Subscriber:
tags: [kdyby.subscriber]
services:
- App\TestListener
Editoval jiri.pudil (15. 3. 2016 12:04)
- Oli
- Člen | 1215
@DavidMatějka to je ten muj bod 2. Nezkousel jsem, ale slo by
podedit EventExtension a udelat si svuj, kterej by zpracovaval treba
listeners
? Nerozbila by to potom kontrola existujicich klicu? Mozna
ne, kdyz nad tim tak premyslim, pokud bych to pridal pred volanim parent
funkce?
- David Matějka
- Moderator | 6445
@Oli tak treba ty nette extensions to kontroluji proti defaults: https://api.nette.org/…ion.php.html#53 takze by stacilo ty options tam pridat