Hromadné vytvoření služeb v Neon
- chap
- Člen | 81
Ahoj,
nevím jestli to nějak jde, ale líbila by se mi možnost v konfiguraci
automatického vytváření služeb. Teď si přidávám nějak takto:
services:
users : UsersRepository
projects : ProjectsRepository
Když však projekt má více repozitářů, dochází k nepřehlednosti. Bylo by fajn něco takového (vycházím z toho, co bylo v sandboxu):
services:
mapping:
*: Repozitare\*Repository
Asi jsem tuto konstrukci dobře nepochopil, ale snad vy pochopíte, co tím
chci docílit.
Takto dostanu tuto výjimku:
Service ‚mapping‘: Unknown or deprecated key ‚*‘ in definition of
service.
- jiri.pudil
- Nette Blogger | 1032
Tahle konstrukce se týká jenom mapování presenterů na třídy. Servisy musíš vyjmenovat (a třeba vyčlenit do samostatného souboru, abys to měl přehlednější), nebo si napsat vlastní extension, které je projde a zaregistruje.
- Šaman
- Člen | 2665
Služby nemusíš pojmenovávat, pokud má každá unikátní třídu/rozhraní:
services:
- UsersRepository
- ProjectsRepository
Rozhodně je lepší je vyjmenovávat, než si je nějak magicky vytvářet (vyzkoušeno:), dokonce i presentery si občas vytvářím ručně a nikoliv pomocí factory.
Editoval Šaman (4. 11. 2014 9:32)
- chap
- Člen | 81
Ahoj, asi to řešit takto – spíš mě to napadlo, jestli to není
možné tak. Jen ještě jedna hloupá otázka:
Když vytvořím tu službu přes
services:
- UsersRepository
a v presenteru bych chtěl volat
$this->context->getService("UsersRepository"); // očekávám pojmenování dle třídy
tak dostanu Service not found. Možná dospějeme k tomu, že služby nepoužívám správně :)