zend tutorial how framework curso composer zend-framework

tutorial - zend framework stack trace



zend framework tutorial (2)

Si desea ver la declaración SQL completa, puede usar Zend_Debug. Por ejemplo, si su instrucción sql está en la variable $ select y desea ver la instrucción sql completa, puede usar la siguiente línea de código:

Zend_Debug::Dump($select); exit;

O si su código se crea con la clase Zend_Db_Table, puede usar:

$select = new Zend_Db_Select(Zend_Registry::get(''db'')); $select->from(''string''); Zend_Debug::Dump($select->assemble()); exit;

Creo que la mejor manera de ver la declaración sql es mediante el uso de la función de creación de perfiles en la conexión de la base de datos. Esta es una combinación con la función de registro y el complemento firePHP para Firefox es mi configuración favorita.

Si usa la configuración MVC de Zend Framework esto se hace blanco en estas líneas de código:

// setup the database connection $db = Zend_Db::factory(Zend_Registry::get(''config'')->database->adapter,Zend_Registry::get(''config'')->database->params); // create a new profiler profiler = new Zend_Db_Profiler_Firebug(''All DB Queries''); // enable profiling (this is only recommended in development mode, disable this in production mode) $profiler->setEnabled(true); // add the profiler to the database object $db->setProfiler($profiler); // setup the default adapter to use for database communication Zend_Db_Table_Abstract::setDefaultAdapter($db); // register the database object to access it in other parts of the project Zend_Registry::set(''db'',$db); /** * * This part is optional * * You can use this logger to log debug information to the firephp add-on for Firefox * This is handy for debugging but must be disabled in production mode * */ // create logger $logger = new Zend_Log(); // create firebug writer $firebug_writer = new Zend_Log_Writer_Firebug(); // add writer to logger $logger->addWriter($firebug_writer); // register the logger object to access it in other parts of the project Zend_Registry::set(''log'',$logger);

El add-on firebug (requisito para firephp) se puede encontrar en este sitio web: Firebug

El complemento de FirePHP se puede encontrar en este sitio web: FirePHP

Ivo Trompert

¿Hay alguna manera de hacer que el seguimiento de la pila muestre toda la declaración SQL generada cuando hay un error en lugar de solo los primeros caracteres?

Esto es lo que muestra actualmente

... / Zend / Db / Adapter / Pdo / Abstract.php (220): Zend_Db_Adapter_Abstract-> query (''UPDATE'' diction ... '', Array)

..y me gustaría ver la declaración de actualización completa antes de enviar a la base de datos para rastrear lo que está mal con él.

Gracias por la ayuda. SWK