CompilerExtension – problém s vytvořením services
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Filip111
- Člen | 244
Ahoj, snažím se rozdělit projekt pomocí CompilerExtension a nedaří se mi to zprovoznit – vůbec se nevygenerují servises definované v konfigu dané extension. Příklad:
$configurator->onCompile[] = function ($configurator, $compiler) {
$compiler->addExtension('cms', new CmsExtension);
$compiler->addExtension('eshop', new EshopExtension);
};
EshopExtension:
class EshopExtension extends Nette\Config\CompilerExtension {
public function loadConfiguration() {
$this->compiler->parseServices(
$this->getContainerBuilder(),
$this->loadFromFile(__DIR__ . '/../eshop.neon')
);
}
}
Část konfigu eshopu:
common:
services:
eshop.cart:
class: web123\Eshop\ShoppingCartSession
arguments: [@session, @eshop.unitsCalculator]
Služba eshop.cart, ke které se snažím v presenteru přistupovat
$this->context->eshop->cart
neexistuje.
Dělám někde chybu?
Zdá se mi že to vůbec nezpracuje EshopExtension a už vůbec ne
konfigurační soubor, který je tam definovaný.