Mostrando postagens com marcador debug. Mostrar todas as postagens
Mostrando postagens com marcador debug. Mostrar todas as postagens

sexta-feira, 13 de janeiro de 2012

Imprimindo entidades do Doctrine 2 - debug melhor que print_r

Por conta dos porxys que ficam nas entidades relacionadas, dar um print_r em um obj do doctrine 2 não é nada agradável. Na documentação tem pouca referência de como fazer isso, mas achei o seguinte:

\Doctrine\Common\Util\Debug::dump($entidade);

É muito útil.

terça-feira, 7 de dezembro de 2010

Degub de queries que não mostram erro no Doctrine 1

Se você estiver tendo problemas com uma query especifica que morre sem deixar vestigios, sem imprimir nada na tela, pode se beneficiar de mais informações registrando um listener generico para imprimir os eventos e também melhorando o flush para ele realmente mostrar algo. antes de fazer a query, registre o listener na conexão:

$conn = Doctrine_Manager::connection();
$conn->setListener(new MyDebugger());
$result = $query->execute();

E também declare ele e o flush melhorado:

class MyDebugger implements Doctrine_Overloadable
{
public function __call($methodName, $args)
{
echo $methodName . ' called !';
flush2();
}
}

function flush2 (){
echo(str_repeat(' ',256));
// check that buffer is actually set before flushing
if (ob_get_length()){
@ob_flush();
@flush();
@ob_end_flush();
}
@ob_start();
}