Tracy – nefunguje dump dotazů

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

Ahoj, v jednom starším projektu jsem si natahal balíčky z Nette. Konkrétně: (věci z 2.3, protože na hostingu mám jen PHP 5.3)

{
„require“: {
„nette/utils“: „2.3.“,
„nette/database“: „2.3.
“,
„nette/forms“: „2.3.“,
„latte/latte“: „2.3.
“,
„nette/robot-loader“: „2.3.“,
„tracy/tracy“: „2.3.

 }
}

Všechno mi funguje, akorát se mi do Tracy nepropisují vykonané SQL dotazy.

Mám nastaveno takto, dělám něco špatně? Vykonané dotazy normálně fungují, akorát je v baru nevidím.

<?php
try
{


	// DIBI
	dibi::connect(
						array(
										    'driver'   => 'mysql',
										    'host'     => $server,
										    'username' => $user,
										    'password' => $pwd,
										    'database' => $db,
										    'charset'  => 'utf8',
										    'profiler' => true,
							),
							'SF2'
				);


	// NETTE DATABASE
	$cacheStorage = new Nette\Caching\Storages\FileStorage(__DIR__.'/../temp');
	$connection   = new Nette\Database\Connection($dsn, $user, $password, array('lazy' => TRUE));
	$structure    = new Nette\Database\Structure($connection, $cacheStorage);
	$conventions  = new Nette\Database\Conventions\DiscoveredConventions($structure);
	$database     = new Nette\Database\Context($connection, $structure, $conventions, $cacheStorage);

}

catch (Exception $e)
{
	echo $e->getMessage();
	exit;
}

?>

Editoval Kcko (3. 12. 2016 12:24)

CZechBoY
Člen | 3608
+
0
-

Zkusil bych nasimulovat to co dělá DI rozšíření Nette/Database.

if ($config['debugger']) {
			$connection->addSetup('@Tracy\BlueScreen::addPanel', array(
				'Nette\Bridges\DatabaseTracy\ConnectionPanel::renderException'
			));
			if ($this->debugMode) {
				$connection->addSetup('Nette\Database\Helpers::createDebugPanel', array($connection, !empty($config['explain']), $name));
			}
		}
Kcko
Člen | 465
+
-1
-

Call to undefined method Nette\Database\Connection::addSetup()

Kašlu na to, díky za snahu.

Jan Tvrdík
Nette guru | 2595
+
0
-

Vzdáváš se zbytečně rychle. $connection není v tom odkázané příkladu instance Nette\Database\Connection. Správně musíš zavolat

Tracy\BlueScreen::addPanel('Nette\Bridges\DatabaseTracy\ConnectionPanel::renderException');
Nette\Database\Helpers::createDebugPanel($connection, $explain = TRUE);

Pro dibi viz https://github.com/…es/tracy.php

Kcko
Člen | 465
+
0
-

Honzo Tvrdíku, díky za snahu.
Ted pro změnu https://goo.gl/DZTaag :/ (měl jsem v plánu vytvořit hybrid starší aplikace křížené s Nette) a celý víkend trávím tím, že se to snažím dostat do stavu jak jsem na to ve standardním Nette zvyklý (tohle je už poslední věc).

David Matějka
Moderator | 6445
+
0
-

zkus Tracy\Debugger::getBluescreen()->addPanel(...)

Kcko
Člen | 465
+
0
-

Super!

NDB: https://goo.gl/mbPQB2
DIBI: https://goo.gl/JaLskC

Už jen zcela zbytečná drobnost, proč
NDB vypisuje čas / počet dotazů
Dibi počet dotazů, „slovo queries“ / čas

Dalo by se to sjednotit?

Jinak oboum díky za pomoc!