Circular reference detected for services
- Pert Jančálek
- Člen | 5
Ahojte, potřeboval bych pomoct s předáváním parametrů … všechno mi fungovalo až do té doby, než jsem přidal do DI containeru následující třídu:
Jediná třída, která tento objekt vyžadaduje je třída userFacade.
Hned potom, co tuto třídu předám userFacadě jako parametr, tak dostanu
chybovou hlášku:
Absolutně netuším, kde by mohl být problém. Mohli byste mi prosím pomoci ?
Editoval Pert Jančálek (12. 9. 2017 19:45)
- David Matějka
- Moderator | 6445
tipuju, ze user facade implementuje authorizator? nejlepsi bude z authorizatoru udelat samotnou sluzbu (ktera nebude zavisla na user facade)
- Pert Jančálek
- Člen | 5
Třída implementuje rozhraní IAuthenticator. Příjde mi to tak logické,
protože používám Doctrine a tato třída má potřebné objekty, ale tu
entitu vytáhla.
Tak díky za odpovědi, ale škoda, že to neřeší můj problém.
Editoval Pert Jančálek (12. 9. 2017 20:55)
- David Matějka
- Moderator | 6445
Tak díky za odpovědi, ale škoda, že to neřeší můj problém.
resi to tvuj problem. Nette\Security\User vyzaduje IAuthenticator, ktery mas implementovany v UserFacade. Ta pak vyzaduje ten Mailer, ten vyzaduje ITemplateFactory a to vyzaduje Nette\Security\User – a je tu circular reference.
kdyz udelas z authenticatoru samotnou sluzbu, problem zmizi