Čtení pole $_SERVER v konfiguraci (Neon)

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

Předpokládejme, že jsou autentizační údaje k databázi nekonstantní a dostupné v klíči pole $_SERVER. Dá
se v Neon konfiguraci k tomuto poli nějak přistoupit? Díky.

redhead
Člen | 1313
+
0
-

V Neon samotném ne, ale dá se na to jít přes include PHP souboru, např.:

includes:
	- database.config.php
<?php
// database.config.php

return array(
	'parameters' => array(
		'database' => array(
			'driver' => 'mysql',
			'host' => $_SERVER['DB_HOST'],
			'dbname' => $_SERVER['DB_NAME'],
			'user' => $_SERVER['USERNAME'],
			'password' => $_SERVER['PASSWORD'],
		)
	)
);

EDIT: nejde, viz níže

Editoval redhead (11. 3. 2013 20:48)

vvoody
Člen | 910
+
0
-

Nie som si istý, ale myslím že pri takomto použití budú vždy použité len hodnoty, ktoré boli prítomné v $_SERVER počas kompilácie containeru. Je to požadované správanie?

redhead
Člen | 1313
+
0
-

Tak jo, máš pravdu, tohle nejde. Nadrátuje to tam hodnoty při kompilaci.

Měl jsem pocit, že to jde, protože to někdo ukazoval pro nastavení DB na PHP Fogu, který to uchovával v proměnné $_ENV.

Filip Procházka
Moderator | 4668
+
0
-

To přece nevadí, ne?

redhead
Člen | 1313
+
0
-

No pokud jsou údaje nekonstantní, jak @hozikm píše, tak to docela vadí, ne? :)

vvoody
Člen | 910
+
0
-

Každopádne podla mňa je nezmysel v configu pristupovať priamo ku prvkom pola $_SERVER, radšej to zaobaliť do služby, tak ako je $_GET/$_POST v requeste.

Filip Procházka
Moderator | 4668
+
0
-

Nojo, to slovíčko mi uniklo :)

Všechno co je v globální proměnné $_SERVER, by mělo být přístupné pod metodou Http\Request::getHeader(), jenom to bude mít drobátko jiný klíč