Detekce development rezimu

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

Mam takovy droby dotaz.
Ted jsem resil neco a dosel jsem do stavu kdy jsem chtel v modelu vedet zda jsem v development nebo production rezimu. But neumim googlit nebo nevim ale nic jsem nenasel jak to udelat aniz bych prasil kod.

Nakonec jsem jsem si nasel cestu sam a to:

 if(!\Nette\Environment::isProduction()){
	...
 }

Da se to udelat nejak lip?

Michal Vyšinský
Člen | 608
+
0
-

Dá, nebýt v modelu závislý na režimu. O co se snažíš? Opravdu je nutné vědět, jestli máš development mode?

Editoval CherryBoss (8. 12. 2013 23:27)

jiri.pudil
Nette Blogger | 1034
+
0
-

Pokud je to opravdu nutné, nejčistší řešení je si tam tu informaci předat. Můžeš využít boolean parametry debugMode a productionMode, které Nette automaticky registruje do configu:

services:
	- My\Model\Service(%debugMode%)

Doménová logika (ergo model) by ale neměla záviset na prostředí. Pokud potřebuješ v debug režimu mockovat nebo nahradit některé služby, spíš bych šel cestou více konfiguračních souborů, načítaných v závislosti na režimu už v bootstrapu.

Editoval jiri.pudil (9. 12. 2013 8:13)

Erwin32
Člen | 2
+
0
-

Diky za odpovedi. Je to ve smes jen o tom ze jsem nechtel zakomentovavat debug kod misto toho jsem chtel aby se v develop rezimu vracelo pole s informacema ohledne operece se soubory a production jen TRUE nebo FALSE jestli se povedlo. Nejcistci je zakomentovat/vyhodit kod co vraci pole s debug informacemi co tak vim :)

Ve smes jsem byl jen zvedavy.

Editoval Erwin32 (14. 12. 2013 17:42)