robotLoader a config.neon
- hejdav
- Člen | 50
Ahoj, hledal jsem, ale nepřišel kde mám chybu.
Mám službu, která chce použít RobotLoader a dostává ho
v konstruktoru.
Nejdřív jsem načítal RobotLoader v bootstrapu, ale abych ho službě mohl
předat v config.neon (takto:
mojeSluzba:
class: Nejaka\Sluzba(@robotLoader)
), zkusil jsem RobotLoader nastavit rovnou v configu:
services:
robotLoader:
arguments:
directory: [nejake/cesty/k/tridam]
run: true
ovšem to způsobí, že jakmile je někde dál třeba toto:
user: Nejaka\Trida\User
vyhodí to
Class Nejaka\Trida\User used in service 'user' has not been found or is not instantiable.
Třída samozřejmě existuje, jen jí ještě nenačetl
RobotLoader. Proč?
Když mám RobotLoader v bootstrapu, nezná to službu
@robotLoader
. $container->addService()
zase můžu
zavolat až potom co se načte neon…
Tak nějak nevim jak toto vyřešit, poradíte prosím někdo znalý a chytrý? :) Díky mooc
Editoval hejdav (28. 2. 2013 14:08)
- Vojtěch Dobeš
- Gold Partner | 1316
Je to tak, RobotLoader
již není službou (protože je potřeba
před tím, než budou autoloadovány třídy všech služeb). Řešením je
tedy pravděpodobně manuální registrace služby v boostrapu.