konfigurace aplikace v dazabázi
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Mikulas Dite
- Člen | 756
Pro připojení k databázi ale potřebuješ nějaké přihlašovací údaje, které stejně musí být v nějakém jiném úložišti. Vzhledem k tomu, že právě tyhle tvoří většinu configu, nedává to moc smysl.
- Filip Procházka
- Moderator | 4668
Pravděpodobně bude chtít ukládat nějaká nastavení webu, která chce mít variabilní.
Použil bych trochu jinou techniku.
Vytvořit vlastní Configurator
class Configurator extends Nette\Configurator
{
public function loadConfig($file)
{
$config = parent::loadConfig($file);
$dbConfig = dibi::select("key, value")
->from('configuration')
->fetchPairs();
$config = array('app' => $appConfig) + $config->toArray();
return new Nette\Config\Config($config);
}
}
a v bootstrapu potom
require_once APP_DIR . '/model/Configurator.php';
Nette\Environment::setConfigurator(new Configurator());
Nette\Environment::loadConfig();
Nyní si můžeš získat nastavení z databáze pomocí
dump(Nette\Environment::getConfig('app'));