jak na detekci development modu

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

nazdar, chtěl bych se zeptat, jak za běhu aplikace (v presenteru) detekovat, zda je zapnutý dev mode. Nevíte jak na to? Nějak jsem se toho nedohledal. Díky za odpověď.

besanek
Člen | 128
+
0
-

Například \Nette\Diagnostics\Debugger::$productionMode, ale je to příšerný anti-pattern. Presenter by neměl být závislý na vývojovém módu.

K čemu to potřebuješ? Jistě by se to dalo udělat jinak.

vitush93
Člen | 33
+
0
-

besanek napsal(a):

Například \Nette\Diagnostics\Debugger::$productionMode, ale je to příšerný anti-pattern. Presenter by neměl být závislý na vývojovém módu.

K čemu to potřebuješ? Jistě by se to dalo udělat jinak.

mám v BasePresenteru tovarnu na komponentu, ktera sjednoti, minifikuje a provede kompresi css a js souboru. Během vyvoje je ale děsnej vopruz čekat 15 vteřin při změně souboru – zatím to mám zakomentované..

Reloecc
Člen | 15
+
0
-

mám v BasePresenteru tovarnu na komponentu, ktera sjednoti, minifikuje a provede kompresi css a js souboru. Během vyvoje je ale děsnej vopruz čekat 15 vteřin při změně souboru – zatím to mám zakomentované..

vůbec bych se nebál odlišit nastavení služby, která se o kompilaci bude starat, v configu:

development < common:
	services:
		compilator:
			class: Compilator
			setup:
				- setDevelopmentMode

ale myslím, že kompilace css / js tě zajímá ještě před zpracováním presenteru, nevidím nic špatného na tom, podstrčit nějaké volání do bootstrap.php, kde máš k dispozici configurator s jeho isDebugMode()

vitush93
Člen | 33
+
0
-

Reloecc napsal(a):

mám v BasePresenteru tovarnu na komponentu, ktera sjednoti, minifikuje a provede kompresi css a js souboru. Během vyvoje je ale děsnej vopruz čekat 15 vteřin při změně souboru – zatím to mám zakomentované..

vůbec bych se nebál odlišit nastavení služby, která se o kompilaci bude starat, v configu:

development < common:
	services:
		compilator:
			class: Compilator
			setup:
				- setDevelopmentMode

ale myslím, že kompilace css / js tě zajímá ještě před zpracováním presenteru, nevidím nic špatného na tom, podstrčit nějaké volání do bootstrap.php, kde máš k dispozici configurator s jeho isDebugMode()

trik s configem vyzkouším – díky.

O tom s tím boostrapem jsem taky přemýšlel, ale nevymyslel jsem jak pak na kontroly:

  • existence souboru
  • build/rebuild fail/success ⇒ fallback

Ještě popřemýšlím – původně jsem to taky zavrhl, protože mi to přišla jako prasárna :D

Jan Tvrdík
Nette guru | 2595
+
0
-

@vitush93

$this->context->parameters['developmentMode']

Reloecc
Člen | 15
+
0
-

Jan Tvrdík napsal(a):
@vitush93
$this->context->parameters['developmentMode']

nemám takové zkušenosti s nette, ale proč někdo označeny „Nette guru“ radí použít $this->context a navíc pro získání parametru? Jestliže je developmentMode mezi „základními“ parametry configu, tak lze přece použít:

common:
	services:
		compilator:
			class: Compilator
			setup:
				- setMode(%developmentMode%)

Editoval Reloecc (18. 7. 2013 17:09)

JHadamcik
Člen | 47
+
0
-

Reloecc napsal(a):

Jan Tvrdík napsal(a):
@vitush93
$this->context->parameters['developmentMode']

nemám takové zkušenosti s nette, ale proč někdo označeny „Nette guru“ radí použít $this->context a navíc pro získání parametru? Jestliže je developmentMode mezi „základními“ parametry configu, tak lze přece použít:

common:
	services:
		compilator:
			class: Compilator
			setup:
				- setMode(%developmentMode%)

Honza předpokládám používá context jako každý z nás: Pro předání know how.