Neon – systémové služby, rozdílné zápisy
- Kcko
- Člen | 468
Viděl jsem v neonu použít
@httpRequest
i
@http.request
Nikde jsem nenašel jakými pravidly se to řídí, takže jsem si odvodil
(snad je to správně), že se to řídí namespacem?
Pokud budu mít systémovou službu např. Nette\Afoo\Bfoo\Cfoo
tak se na ni v neonu odkáži bud
@afoo.bfoo.cfoo
nebo
@afooBfooCfoo
Je tomu tak nebo ne? Kde najdu seznam systémových služeb, abych tomu rozuměl (i těm aliasům, pokud se moje domněnka nezakládá na pravdě).
A ještě by mě zajímalo proč zde: https://latte.nette.org/en/develop#…
při registrování třídy do služeb se explicitně uvádí i
@httpRequest systémová služba, autowiring by ji
doplnil i tak ne?(testoval jsem to na Nette 2.3), takže by stačilo uvést
pouze %wwwDir%
common:
services:
myTemplateFilters:
create: App\TemplateFilters( %wwwDir%, **@httpRequest** )
Díky za vysvětlení.
Editoval Kcko (3. 11. 2018 20:00)
- Kcko
- Člen | 468
ali napsal(a):
To s tou teckou, pokud si dobre vzpominam, bude kvuli zpetne kompatibilite se starsimi verzemi Nette. A namespacem se to neridi, zalezi na autorovy extensny, jak tu sluzbu pojmenuje.. viz bridge v Nette.
Aha,zajímavé, jedná se např. o toto?
$container->addAlias('httpRequest', $this->prefix('request'));
$container->addAlias('httpResponse', $this->prefix('response'));
Pokud ano, tak třeba u Tracy jsem žádný alias nenašel, jak to? Nějaká
snažší cesta jak to vidět na jednom místě?
K druhému bodu nic prosím?
- David Grudl
- Nette Core | 8227
Správný název je http.request
, tak jak to je třeba v DIC
panelu. Alias existuje kvůli kompatibilitě s historickými verzemi, kde to
ještě bylo bez tečky.