Jak správně zaregistrovat vlastní panel s konfigurací přes config.neon?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Mysteria
- Člen | 797
Zdravím,
rád bych přesunul konfiguraci Tracy panelu do config.neon. Vzhledem k tomu,
že jsem se v téhle části Nette ještě nepohyboval, tak bych potřeboval
poradit, jaká je správná varianta. :)
Konfigurace bez CompilerExtension:
tracy:
bar:
- @bar
services:
bar:
class: Utils\Bar
setup:
- setParameters('someParameters')
Konfigurace s CompilerExtension:
extensions:
bar: Utils\BarExtension
bar:
parameters: 'someParameters'
<?php namespace Utils;
class BarExtension extends \Nette\DI\CompilerExtension {
public function loadConfiguration() {
$config = $this->getConfig($this->defaults);
$builder = $this->getContainerBuilder();
$builder->addDefinition('bar')->setClass('Utils\Bar')->addSetup('setParameters', [$config]);
}
public function afterCompile(\Nette\PhpGenerator\ClassType $class) {
$class->methods['initialize']->addBody('$this->getService(?);', ['bar']);
}
}
Obě varianty mám implementovány, fungují přesně tak jak potřebuju, ale která z nich je lepší, správnější?
Díky za pomoc.
Editoval Mysteria (1. 2. 2016 0:42)