Laděnka už nevypisuje chybný SQL dotaz?

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

Donedávna jsem fungoval na verzi 0.9 a byl jsem zvyklý, že pokud jsem měl chybu v SQL dotazu, Laděnka nejen že zobrazila DibiDriverException, ale do výpisu pod Call Stack přidala „blok“ SQL, kde byl chybný dotaz pěkně vypsaný.

Teď píšu nově pod Nette 1.0-dev rev.3f64cab (PHP5.3 s namespace) s dibi 1.3-dev rev.8c99f0c a Laděnka už SQL nevypisuje. Můžu se k němu sice proklikat v Call Stacku – je v argumentu volání DibiDriveru – ale není to tak šikovné. V bootstrapu oproti skeletonu pouze zapnutý debug::strictMode a v kroku 3 volám připojení k db.

Děje se to jen u mě? Podařilo se mi snad nějak omylem provázání Laděnky a dibi zakázat?

sodae
Nette Evangelist | 250
+
0
-

máš posledni dibi z gitu?

https://github.com/nette/dibi/commits/
na1k
Člen | 288
+
0
-

Staženo sice z dibiphp/download, ale je to ta samá revize.

Zkoušel jsem i dibi 1.2, ale to s novým Nette nefunguje vůbec (nějaká chyba ohledně Configuratoru).

Jan Tvrdík
Nette guru | 2595
+
0
-

Používej dibi z archivu s Nette a zapni profiler v configu.

na1k
Člen | 288
+
0
-

Jan Tvrdík: dibi z archívu Nette(1.0) je shodné jako na dibiphp.com a na gitu

Vyřešilo to ale zapnutí profileru. Dřív mi to fungovalo i bez profileru, takže jsem to čekal i tu. Zároveň to taky nefunguje u minified verze, ta zřejmě profiler neobsahuje vůbec.

22
Člen | 1478
+
0
-

No ja mam s ladenkou taky problem na 0.9.4 verzi, vetsinpou vidim jeno internal error misto vypisu ladenky – nastaveno Debug::DEVELOPMENT :-(

phx
Člen | 651
+
0
-

Pokud chces videt SQL prikazy v Nette listicte tak musis v profileru odkomentovat par veci. Dibi je stale pro PHP5.2 a neni to 100% kompatibilni s Nette pro PHP5.3. Taham vsechno z GITu. V zipu z webu to je mozna OK.

Konkretne jde o toto:

// DibiProfiler.php
	public function __construct(array $config)
	{
		if (class_exists(/*Nette\*/'Debug', FALSE) && is_callable(/*Nette\*/'Debug::addPanel')) {
			/*Nette\*/Debug::addPanel($this);
		}

		$this->useFirebug = isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'], 'FirePHP/');

		if (isset($config['filter'])) {
			$this->setFilter($config['filter']);
		}

		if (isset($config['explain'])) {
			$this->explainQuery = (bool) $config['explain'];
		}
	}

změnit na:

public function __construct(array $config)
	{
		if (class_exists('Nette\Debug', FALSE) && is_callable('Nette\Debug::addPanel')) {
			Nette\Debug::addPanel($this);
		}

		$this->useFirebug = isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'], 'FirePHP/');

		if (isset($config['filter'])) {
			$this->setFilter($config['filter']);
		}

		if (isset($config['explain'])) {
			$this->explainQuery = (bool) $config['explain'];
		}
	}