Service projectsRepository not found
- xciza
- Člen | 194
Ahoj,
na webu na mě vyskočila laděnka, která hlásí ‚Service XY not found‘.
Konkrétně se jedná o tento řádek v ProjectsPresenteru a metodě
startup:
$this->projectsRepository = $this->context->projectsRepository;
V konfigu ji mám normálně zaregistrovanou:
projectsRepository: Todo\projectsRepository
A samotný model mám ve stejném namespace:
<?php
namespace Todo;
/**
* Tabulka project
*/
class ProjectsRepository extends Repository {
Kde bych měl prosím hledat chybu ve svém kodu?
Díky
- HappyFace
- Člen | 162
ja by som ti odporucil kuknit si SystemContainer co vsetko sa ti tam nachadza a od toho sa odpychnut mozno mas len niekde preklep .. inak sa mi osobne nepaci ze nedodrziavas camelcase oznacenie triedy by malo vzdy zacinat velkym pismenom ale to len tak na okraj
do neon-u si dopis:
nette:
container:
debugger: TRUE
Editoval HappyFace (29. 10. 2013 16:02)
- Šaman
- Člen | 2666
V první řadě zkus přepsat názvy tříd v configu na velká písmena: Todo\ ProjectsRepository, pokud to není tím, tak někam opstni laděnku a pokud možno celý projekt. Ideálně na GitHub, tam se to dá jen prolistovat a nemusí si to každý stahovat k sobě.
A propo, to, co ti radí @HappyFace sice nemá řešit tvůj problém, ale má ti to pomoci s odladěním. V debugBaru se ti objevila ikonka ozubeného kolečka a v ní máš vypsaný celý kontejner. Pokud tam třeba správná služba je, tak víš, že chyba je v načítání služby z kontejneru. Pokud tam není, tak se ti ani nevytvořila.
Editoval Šaman (29. 10. 2013 16:19)
- xciza
- Člen | 194
Předpokládal jsem že se mě něco objevý v debugbaru ale bohužel nic. Projekt jsem nahodil zde: https://github.com/cihakMartin/WEB snad se tam dostanete.
- Šaman
- Člen | 2666
Máš tam dva configy – jeden v /app a druhý správně v app/config.
Problém je, že v bootstrapu načítáš ten z /app, který je prázdný a
proto žádné služby nevytvoří. Když ten prázdný v /app smažeš (nemá
tam co dělat), tak získáš srozumitelnou chybovou hlášku.
V DebugBaru se ti také nic neobjeví, protože ten ladící panel se zapíná
v tom configu, který nenačítáš :)
oprav tedy ten bootstap.php
<?php
// Create Dependency Injection container from config.neon file
$configurator->addConfig(__DIR__ . '/config/config.neon');
$configurator->addConfig(__DIR__ . '/config/config.local.neon');
$container = $configurator->createContainer();
?>
Editoval Šaman (30. 10. 2013 17:08)
- David Matějka
- Moderator | 6445
mas tam dvoji definici rout – jednu v bootstrapu a druhou v RouterFactory (app/router/RouterFactory.php) – presun tu definici z bootstrapu do RouterFactory