Non-static router, nejde mi registrovat v common.neon

Jan Kostohryz
Člen | 14
+
0
-

Zdravím,
narazil jsem na podobný problém jako zde:
https://forum.nette.org/…ject-context
Také nemohu použít $this, protože mám statický router. Tak jsem to předělal také tak že mám jen class RouterFactory a public function create.
Jenže v neonu mi to nebere zápis, také podle příspěvku:

services:
     - RouterFactory
    router:
        create: @RouterFactory::create()

Jen jsem poupravil cestu.

services:
	- App\Router\RouterFactory
 	router:
        create: @RouterFactory::create()

Jinak by mi to hlásilo že nemůže najít třídu. Jinak s upravenou cestou mi to v tracy hlásí toto:

Service ‚router‘: Reference to missing service ‚RouterFactory‘.

Tak jestli to není tím že příspěvek je starý 5 let a dnes už se to zapisuje trochu jinak?
A když tak jak?

Marek Bartoš
Nette Blogger | 1162
+
0
-

V neonu je vždy třeba se na třídu odkazovat včetně namespace

services:
	- App\Router\RouterFactory
 	router:
        create: @App\Router\RouterFactory::create()

Případně přes název služby

services:
	routerFactory: App\Router\RouterFactory
 	router:
        create: @routerFactory::create()

Editoval Marek Bartoš (31. 10. 2021 11:36)

Jan Kostohryz
Člen | 14
+
0
-

Díky moc, funguje to