Dodanie práve vytvorenej služby ďalšej službe v CompilerExtension::loadConfiguration()

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
romiix.org
Člen | 343
+
0
-

Ako dodať v CompilerExtension službe práve vytvorenú službu?

class AssetsCollectorExtension extends CompilerExtension
{
    public function loadConfiguration()
    {
        $builder = $this->getContainerBuilder();
        $config = $this->getConfig(array(
                'csspath' => WWW_DIR.'/style/css',
        ));

        $builder->addDefinition($this->prefix('cssSimpleMinificator'))
            ->setClass('\RM\AssetsCollector\Compilers\CssSimpleMinificator');

        $builder->addDefinition($this->prefix('imageToDataStream'))
            ->setClass('\RM\AssetsCollector\Compilers\ImageToDataStream')
            ->addSetup('$csspath', $config['csspath']);

        $builder->addDefinition($this->prefix('collector'))
            ->setClass('\RM\AssetsCollector')
            ->addSetup('addCssCompilator', array(
                // sem chcem dodať služby cssSimpleMinificator a imageToDataStream
            ));
    }
}

Vďaka.

enumag
Člen | 2118
+
0
-

Tuším že by to mohlo být nějak takhle:

	$builder->addDefinition($this->prefix('collector'))
		->setClass('\RM\AssetsCollector')
		->addSetup('addCssCompilator', array(
			'@' . $this->prefix('cssSimpleMinificator'),
			'@' . $this->prefix('imageToDataStream'),
		));

Editoval enumag (11. 11. 2012 17:38)

romiix.org
Člen | 343
+
0
-

Vďaka, ide to.