Oznámení
Tracy (Laděnka) nezobrazuje Debugger Bar
před 6 lety
- rossini
- Člen | 26
Dobrý den,
ve vlastním projektu využívám Tracy a vše perfektně funguje. Bohužel se mi ale nezobrazuje Debugger Bar. Pouze, pokudu zakomentuji registraci mého auto loaderu spl_autoload_register(„autoloadFunkce“);
Vůbec si nevím rady s tím, proč se Debugger Bar nezobrazí, když Tracy chytá všechny chyby tak, jak má. Nemáte někdo prosím nějaký nápad?
Kód:
require 'tracy-master/src/tracy.php';
use Tracy\Debugger;
Debugger::enable();
....
function autoloadFunkce($trida)
{
if ((mb_strlen($trida) >= mb_strlen("Controller")) && (mb_strpos($trida, "Controller", mb_strlen($trida) - mb_strlen("Controller"))) !== false)
require(API_PATH."controllers/" . $trida . ".php");
else
require(API_PATH."models/" . $trida . ".php");
}
spl_autoload_register("autoloadFunkce");
...
před 6 lety
- Milo
- Nette Core | 1119
Tracy je current master branch?
Máš na mysli, že se nezobrazí debugger bar celý anebo pouze dibi panel v něm?
před 6 lety
- rossini
- Člen | 26
Zobrazí se mi pouze bílý podklad (jakoby rám Debuger bar) a v něm prázdno. Jo a omlouvám se, právě jsem zjistil, že jsem toto vlákno chtěl postnout na Nette a ne na Dibi… Jsem lama..
// je to ale starší verze (možná dost starší), hledám novou, ale budu asi potřebovat poradit kde :)
Editoval rossini (18. 10. 2013 10:18)
před 6 lety
- Milo
- Nette Core | 1119
Tracy najdeš na Githubu. Jinak s tou chybou nevím, nějak nechápu co se kde nezobrazí. Obrázek by asi napověděl.
před 6 lety
- rossini
- Člen | 26
Děkuju za odkaz na Tracy. Obrázek toho Debuger rámu je tady: http://tinypic.com/r/1607mgi/5 Je to horní okraj FireBugu a k němu přilepené „torzo“ debuger baru…
před 6 lety
- rossini
- Člen | 26
Tak definitívně jsem si ověřil, že Tracy resp. Debug Bar je
ovlivňovaný tou mojí stupidní autoload funkcí, resp.
spl_autoload_register(„autoloadFunkce“); Vytvořil jsem úplně čistý
file, v něm je jen:
require 'tracy-master2/src/tracy.php';
use Tracy\Debugger;
Debugger::enable();
function autoloadFunkce($trida) {
if ((mb_strlen($trida) >= mb_strlen("Controller")) && (mb_strpos($trida, "Controller", mb_strlen($trida) - mb_strlen("Controller"))) !== false)
require(API_PATH."controllers/" . $trida . ".php");
else
require(API_PATH."models/" . $trida . ".php");
}
spl_autoload_register("autoloadFunkce");
echo ("Test");
A po spuštění vše proběhne, na stránce je napsáno Test, ale Debug Bar je prázdný… Když spl_autoload_register(„autoloadFunkce“); zakomentuji, tak to projde a zobrazí debuger bar komplet… Netuší nějaký Guru, co resp. proč spl_autoload_register ovlivňuje Debug Bar?
před 6 lety
- rossini
- Člen | 26
Tak opravdu to bylo tou funkcí. Kdyby někoho zajímalo řešení, tak jsem funkci musel upravit tak, aby „nepředpokládala“, že pokud třída není Controller, je to automaticky Model a hledá definici hned v models/. Něco se tam „bylo“ s Tracy a nezobrazovalo to debugger-bar. Funkci jsem předělal takto:
//Autoloader
function autoloadFunkce($trida)
{
if ((mb_strlen($trida) >= mb_strlen("Controller")) && (mb_strpos($trida, "Controller", mb_strlen($trida) - mb_strlen("Controller"))) !== false) {
require(API_PATH."controllers/" . $trida . ".php");
}
elseif ((mb_strlen($trida) >= mb_strlen("Model")) && (mb_strpos($trida, "Model", mb_strlen($trida) - mb_strlen("Model"))) !== false) {
require(API_PATH."models/" . $trida . ".php");
}
}
spl_autoload_register("autoloadFunkce");
Prosím o uzamčení, vyřešeno → a děkuji za ochotu!