Absolutní cesty v sekci includes + expanze proměnných
- pepakriz
- Člen | 246
1) Sekce includes
v konfiguraci Nette
podporuje pouze relativní adresy. Chtěl bych mít možnost zadávat cesty
absolutní.
includes:
- /var/www/test/libs/foo/bar/config/config.neon
existuje důvod, proč to není povoleno?
2) Kdyby se doplnila podpora absolutních cest, jistě by nebylo na škodu implementovat i expanzi proměnných. Viz:
includes:
- %libsDir%/foo/bar/config/config.neon
Tady nastává menší zádrhel, jelikož sekce parameters
se
zpracovává až v dalším kroku a tudíž proměnné nejsou v momentě
řešení include sekcí dostupné.
Ve svém frameworku jsem upravil Nette\Config\Loader
tak, aby
umožňoval nastavovat proměnné předem (viz https://github.com/…g/Loader.php#L24)
a ty pak expandoval.
Mám se pokusit o pull request, nebo řeším něco, co není žádoucí?
- enumag
- Člen | 2118
@pepakriz: Je příjemnější v config.neon pro aplikaci napsat:
extensions:
foo: FooNamespace\FooExtension
než nějaké fuj fuj include kde bys potřeboval znát přesné umístění toho neon souboru. Takhle se ti o to postará autoloading.
Nesnaž se zjednodušit si psaní extension, snaž se zjednodušit jejich použití.
- pepakriz
- Člen | 246
@enumag: Máš pravdu, sám to takto používám. Šlo mě hlavně o to, abych uvedl nějaký příklad pro užití absolutní cesty.
Existuje jiný důvod, proč není možné includovat absolutní adresy? Co kdybych chtěl includovat konfiguraci, kterou mi předpřipravil hosting, abych nemusel vyplňovat údaje do db? Něco jako:
includes:
- %globalConfigDir%/config.neon
- Filip Procházka
- Moderator | 4668
Na includování konfigurace od hostingu existuje include php souborů
includes:
- config.system.php
return array(
'database' => array(
'host' => $_ENV['DB_HOST'],
)
);