Musí být jméno služby stejný jako jmeno třídy?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
vosy
Člen | 532
+
0
-

Ahoj chtěl bych se zeptat jestli jmeno sluzby musi byt stejny jako nazev tridy?

mam config.neon

services:
       AM_AdminsRepository: AdminModule\AdminsRepository
       AM_LanguagesRepository: AdminModule\LanguagesRepository
       AM_MenusRepository: AdminModule\MenusRepository

pak tridu MenusRepository

namespace AdminModule;

class MenusRepository extends \MenusRepository
{

a servisni tridu MenuService

class MenusService
{
    protected $MenusRepository;


    public function __construct(AM_MenusRepository $MenusRepository)
    {
        $this->MenusRepository = $MenusRepository;
    }

a vysledek je error:

Service 'MenusService': No service of type AM_MenusRepository found. Make sure the type hint in Method MenusService::__construct() is written correctly and service of this type is registered.
Quinix
Člen | 108
+
0
-

Ne, nemusí, ale v type hintu v konstruktoru musíš uvádět třídu a ne název služby:

class MenusService
{
    protected $MenusRepository;


    public function __construct(AdminModule\MenusRepository $MenusRepository)
    {
        $this->MenusRepository = $MenusRepository;
    }
vosy
Člen | 532
+
0
-

achaaaaaa, aj ta krajtaaa, dix

Jiří Nápravník
Člen | 710
+
0
-

Dokonce tu servisu nemusis pojmenovavat vubec a mit jen:

services:
       - AdminModule\AdminsRepository
       - AdminModule\LanguagesRepository
       - AdminModule\MenusRepository

Editoval Jiří Nápravník (23. 9. 2013 12:56)