Debug: deprecated isDebugging()

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

viz tento commit: https://github.com/…528ae8f5a62d

když se tohle zruší tak jak potom budu zjišťovat jestli jsem v debug módu nebo ne?

aktuálně to používám na nastavení další debugovacích hodnot. viz:

if (Environment::isDebugging())
{
	RoutingDebugger::enable();
	Presenter::$invalidLinkMode = Presenter::INVALID_LINK_EXCEPTION;
	Debug::enableProfiler();
	Debug::$showLocation = TRUE;
	Debug::$strictMode = TRUE;

	$profiler = new DibiProfiler;
	dibi::getConnection()->setProfiler($profiler);

}
Ondřej Mirtes
Člen | 1536
+
0
-
Environment::getMode() == Environment::DEVELOPMENT

Doufám, že to tak funguje, ještě jsem to nezkoušel :) Každopádně – není ta tvoje obalovací podmínka zbytečná? RoutingDebugger se ti v production neukáže, stejně tak ani Laděnka, nastavení chybných linků tam máš taky defaultní…

BigCharlie
Člen | 283
+
0
-

A nešlo by to obráceně, zjistit že nejsi v produkčním módu?

if (!Environment::isProduction()) ...
kravčo
Člen | 721
+
0
-

Environment::isDebugging() zisťovalo či debuguješ, nie či si v development móde… Prosto, či nad aplikáciou beží debugger.

Patrik Votoček
Člen | 2221
+
0
-

LastHunter napsal(a):

nastavení chybných linků tam máš taky defaultní…

zrovna tohle defaultní není… defaultně to je Presenter::INVALID_LINK_SILENT pro produkčí mód a Presenter::INVALID_LINK_WARNING pro ostatní…

David Grudl
Nette Core | 8227
+
0
-

Zjistil jsem na školeních, že lidé předpokládali (a docela pochopitelně), že isDebugging() je k něčemu úplně jinému, než k čemu skutečně byl (nebyl víceméně k ničemu). Viz také vrtákův komentář – k tomu je skutečně !isProduction(). Použití isDebugging() je dokonce bezpečnostní díra.