Laděnka už nevypisuje chybný SQL dotaz?
- na1k
- Člen | 288
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?
- phx
- Člen | 651
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'];
}
}