problém s CompilerExtension při vyvolávání vyhazuje Nette\DI\MissingServiceException
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- czheeek
 - Člen | 17
 
Čau,
mám takový problém mám aplikaci která je rozdělena do 3 „modulů“
u kterých chci, abych měl rozdělenou databázi a celou konfiguraci. a mít
jednu celou globální konfiguraci nacož chci použít config.neon a další
modularitu řešit pomocí vlastních Extension mám jeden extension, který je
zaregistrován v bootstrap.php takto:
$configurator->onCompile[] = function ($configurator, $compiler) {
	$compiler->addExtension('cms', new CMSExtension);
};
dále object Extension vypadá takto:
namespace App\CMSModule\Extension;
use Nette\Config\CompilerExtension;
class CMSExtension extends CompilerExtension
{
	/**
	 * load configuration
	 */
	public function loadConfiguration()
	{
		$builder = $this->getContainerBuilder();
		$this->compiler->parseServices($builder, $this->loadFromFile(__DIR__ . '/extension.neon'));
	}
}
v extension.neon toto:
common:
	parameters:
		title: 'Content Management System'
		dirs:
			css: %wwwDir%/w_cms/css
			js: %wwwDir%/w_cms/js
			fileStorage: %appDir%/CMSModule/storage
	services:
		database: DibiConnection(%database%)
		models: App\CMSModule\Models\Articles(@database)
production < common:
	parameters:
		database:
			....
development < common:
	parameters:
		database:
			....
při vyvolání v base presenteru takto:
	protected function startup()
	{
		parent::startup();
		dump($this->context->cms->models);
		exit;
	}
mi vyhodí exception
Nette\DI\MissingServiceException
Service ‚cms.models‘ not found
Editoval czheeek (23. 1. 2013 21:55)

- czheeek
 - Člen | 17
 
hrach napsal(a):
Melo by to byt
csm_models, imho ne?
tím to boužel také není zkoušel jsem i
$this->context->cms.models
$this->context->cms->models
$this->context->cms_models
$this->context->cms->cms_models
$this->context->cms->cms.models
a stále stejná chyba… :-(
Editoval czheeek (23. 1. 2013 22:49)