Phalcon Framework Tracy nezobrazí chybějící Controller

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

Dobrý den.
V phalcon projektu mám ve složce public/index.php

include $_SERVER['DOCUMENT_ROOT'] . '/testovani/vendor/autoload.php';
    Tracy\Debugger::$strictMode = true;
    Tracy\Debugger::enable(Tracy\Debugger::DEVELOPMENT);

Tracy panel se v pořádku zobrazí. Zobrazí i Variables pomocí

Tracy\Debugger::barDump($var);

Web jede na localu: localhost/testovani/bla/
Nicméně jakmile schválně najedu na Controller který neexistuje např: localhost/testovani/bla/neco
tak se zobrazí pouze chyba z Phalconu: „NecoController handler class cannot be loaded“.
A můj dotaz zní: Jak docílím toho aby se chyba zobrazovala pomocí Tracy ?

Díky Dejv

Filip Procházka
Moderator | 4668
+
0
-

Tohle je support fórum Nette (a Tracy), nikoliv Phalconu :)

Protože Phalcon je psaný v C jako rozšíření do PHP, je logické předpokládat, že tam dělá nějaký šaškárny s autoloadingem a tedy by mě nepřekvapilo, kdyby takovou chybu vůbec nebylo možné odchytit.

Doporučoval bych se zeptat se na fóru/mailinglistu Phalconu, jestli nemění nějak chování PHP. Protože kdyby to házelo normální výjimku, která by probublala až do exception handleru, tak by to Tracy odchytla.

Ještě je možné, že Phalcon prostě jenom tu výjimku sám chytá, nebo přepisuje exception/error handler. Což je opět věc, se kterou ti tady asi neporadíme.

Editoval Filip Procházka (10. 2. 2015 13:42)

bazo
Člen | 620
+
+1
-

mne to normalne funguje, vsetky vynimky odchyti Tracy

tu je cast z bootstrap.php

<?php
require __DIR__ . '/../vendor/autoload.php';

//Register an autoloader
$loader = new \Phalcon\Loader();
$loader->registerDirs([
	__DIR__ . '/../app',
	__DIR__ . '/../libs',
])->register();

$debugMode		 = FALSE;
$debugSwitchFile = __DIR__ . '/local/debug';

if (file_exists($debugSwitchFile)) {
	$debugMode = trim(mb_strtolower(file_get_contents($debugSwitchFile))) === 'true' ? TRUE : FALSE;
}

Tracy\Debugger::enable(!$debugMode, __DIR__ . '/../log');
?>