Celkem tvrde prostredi.. je tam brouk?

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

Ahoj vespolek,

nasel jsem neco, co mi prijde mozna jako brouk, mozna jako zamerna funkce, ale kazdopadne me to zmatlo…

Na verzi 2.0.1 pro 5.2 s prefixy v sandboxovem kodu je v bootstrapu tohle:

<?php
// Configure application
$configurator = new NConfigurator;

// Enable Nette Debugger for error visualisation & logging
//$configurator->setProductionMode($configurator::AUTO);
$configurator->enableDebugger(dirname(__FILE__) . '/../log');
?>

To jsem si hned upravil odkomentovanim volani setProductionMode a jako parametr jsem mu dal svou lokalni IP (server bezi ve VirtualBoxu na jine IP). To mam vyzkousene, melo by to fungovat. A taky ze jo, pokud jde o debugger – skutecne jede na ‚lokale‘ (cti: VBoxu) a kdyz to uploaduju na server (hosting), tak dojede. Co ale nefunguje a ja myslim ze je to spatne je vyber sekce v configu: na obou serverech se pouzije production. Prisel jsem na to (ha, objev!), ze to zpusobuje Configurator – v konstruktoru si nastavi vychozi parametry, mezi nimi productionMode a environment (!) na zaklade detekce produkcniho prostredi, tady jeste bez moznosti jakkoliv to ovlivnit. Pak nad nim teprve volam setProductionMode('..') s nejakou tou IP adresou a on podle ni znovu vydedukuje productionMode, ale uz ne environment – a pritom prave podle environment se v metode addConfig nacita prislusna sekce configu.

Tak co, je to brouk? :o) docasnej pracujkolem by mel asi bejt volat v bootstrapu mezi setProductionMode a addConfig metodu addParameters a cpat do ni pole kterym ten environment prepisu… fuj. Trvaly reseni by asi bylo upravit setProductionMode tak, aby menila i environment, ale nevim nevim, jestli to je uplne cisty… jak na to? :o)

Editoval danik (10. 3. 2012 0:10)

danik
Člen | 56
+
0
-

… tzn docasne to resim takhle:

<?php
...

$configurator->setProductionMode('ip ip ip');
$configurator->addParameters(
	Array(
		'environment' => $configurator->isProductionMode()
			? NConfigurator::PRODUCTION
			: NConfigurator::DEVELOPMENT
		)
	);

...
?>
llook
Člen | 407
+
0
-

Teď se to bere tak, že vývojové prostředí a vývojový režim jsou dvě různé věci. Viz https://forum.nette.org/…cnich-rezimu

danik
Člen | 56
+
0
-

Áááááá, tak to jsem prošvih. Už chápu. Díky :o)