Jak vypnout Nette Debug Bar v 2.0

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

Potrebuji na jednom prezenteru co vraci data jako JSON vypnout Debug Bar. Drive asi existovalo neco jako Debug::$showBar = FALSE; ve verzi 2.0 to ale nevidim. Nevite nekdo novy postup?

BT

Filip Procházka
Moderator | 4668
+
0
-

Pokud používáš AJAX, tak panel se automaticky vypíná. Popřípadě můžeš zkusit

Nette\Diagnostics\Debugger::$bar = FALSE;

Ale spíš bych si pošéfil pořádně ten request. Protože při AJAXu se to fakt vypíná.

Mikulas Dite
Člen | 756
+
0
-

Používáš tohle?

use Nette\Application\Responses\JsonResponse;
// ...
$this->sendResponse(new JsonResponse(/* ... */));
badtaste
Člen | 9
+
0
-

Diky moc, BT

na1k
Člen | 288
+
0
-

Jak vypnout debug bar obecně? Chci zachovat development prostředí, ale bar vypnout.

To co psal HosipLan nepomůže, protože hromada kódu (Nette, dibi,..) spoléhá na to, že Debugger::$bar je objekt.

ic
Člen | 430
+
0
-

Když jsem dělal mobilní layout pomocí media queries schoval jsem debug bar přes css v css souboru pro mobil. jednoduše pomocí display none. pak se skryje/zobrazí jen podle šířky.

Schovat ho jen css kamra by taky nouzově fungovalo.

na1k
Člen | 288
+
0
-

ic, to bych snad ani nepovažoval za řešení… (řešíš následek a ne příčinu)


Víte někdo proč bylo vůbec Debugger::$showBar odstraněno?

Editoval na1k (29. 8. 2011 13:58)

Patrik Votoček
Člen | 2221
+
0
-

na1k napsal(a):

Víte někdo proč bylo vůbec Debugger::$showBar odstraněno?

protože úplně stejně (lépe) funguje Nette\Diagnostics\Debugger::$bar = FALSE;

Jan Tvrdík
Nette guru | 2595
+
0
-

Patrik Votoček wrote:

protože úplně stejně (lépe) funguje Nette\Diagnostics\Debugger::$bar = FALSE;

Což bohužel odporuje phpDoc, takže všechny knihovny, které na ten phpDoc spoléhají skončí na chybě :)

na1k
Člen | 288
+
0
-

Patrik Votoček napsal(a):

protože úplně stejně (lépe) funguje Nette\Diagnostics\Debugger::$bar = FALSE;

To právě není pravda. Když pominu doplňky, tak minimálně DibiProfiler spadne a zdá se mi že i samotný Debugger dělal problémy.

uestla
Backer | 799
+
0
-

Přemýšlel jsem, a napadlo mě přidat třídě Bar metodu disable(), která by zamezila vykreslení (s tím, že přidávání panelů by normálně procházelo). Přijde mi to jako nejmenší zlo co se týče závislostí třetích stran.

Mám poslat pull?

EDIT:

Volalo by se pak místo ...::$bar = FALSE

\Nette\Diagnostics\Debugger::$bar->disable();

Editoval uestla (29. 8. 2011 18:31)

na1k
Člen | 288
+
0
-

Já bych spíš preferoval návrat Debugger::$showBar kontrolujícího ne/vykeslení celé lišty.

Znamenalo by to pak upravit asi jen jednu podmínku

voda
Člen | 561
+
0
-

Fungovat by mohlo nastavit $bar = false až po zaregistrování panelů, profilerů,.. Teda třeba v beforeRender() metodě.

uestla
Backer | 799
+
0
-

Resp. vykresluje-li se bar až na konci všeho konání, třeba i v metodě Presenter::shutdown().

EDIT:

Každopádně jsem raději pro návrat public static $showBar ;)

Editoval uestla (29. 8. 2011 20:38)

juzna.cz
Člen | 248
+
0
-

HosipLan napsal(a):

Nette\Diagnostics\Debugger::$bar = FALSE;
Koukam ze ve 2.0 stable to nefunguje, protoze
DI container pocita, ze tam debug bar je
nastaveni baru v config.neon taktez

Existuje teda nejaka cesta, jak debug bar spolehlive vypnout?