Jak si poslat do služby kompletní sekci parameters
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- jasir
- Člen | 746
Chtěl bych si poslat do služby všechny parametry z konfigu:
- MyConfig(%%)
---Fungovalo to, v nové verzi to nefunguje--- edit bullshit, nikdy to
nefungovalo, jen mi to nehodilo chybu sorry. Je nějaký lepší způsob
než zavést Container jako službu a volat na něm
getParameters()
?
Editoval jasir (24. 6. 2013 12:27)
- Filip Procházka
- Moderator | 4668
Vždycky je lepší předávat jen to co je potřeba.
Důrazně nedoporučuji, ale nejsnadnější cesta by měla být tato:
services:
class: MyConfig(@container)
class MyConfig
{
public $parameters;
public function __construct($container)
{
$this->parameters = $container->parameters;
}
}
- jasir
- Člen | 746
Díky, udělal jsem to podobně, akorát takto, abych na tom containeru byl závislej jen v konfiguraci.
neonParametersRepository:
class: ConfigurationModule\Model\ArrayConfigRepository(@container::getParameters())
FYI, dělám proto, že měním aplikaci tak, aby byla konfigurovatelná
přes UI a konfig byl uložen v db.
Jako mezikrok jsem zavedl Config (a Repozitáře)jako službu. Tato služba si
bere nastavení jak z neonu, tak z databáze. Také umožnuje save().