当前位置:  开发笔记 > 编程语言 > 正文

zend框架堆栈跟踪

如何解决《zend框架堆栈跟踪》经验,为你挑选了1个好方法。

是否有一种方法可以使堆栈跟踪在出现错误时显示整个生成的SQL语句,而不仅仅是前几个字符?

这是它目前显示的内容

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

..我希望在发送到数据库之前看到整个更新语句,以跟踪它的错误.

谢谢您的帮助.SWK



1> Ivo Trompert..:

如果要查看完整的sql语句,可以使用Zend_Debug.例如,如果您的sql语句位于变量$ select中,并且您想要查看完整的sql语句,则可以使用以下代码行:

Zend_Debug::Dump($select);
exit;

或者,如果您的代码是使用Zend_Db_Table类创建的,则可以使用:

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

我认为查看sql语句的最佳方法是使用数据库连接上的profiling函数.这是日志功能的组合,Firefox的firePHP插件是我最喜欢的设置.

如果你使用Zend Framework的MVC配置,那么这行代码是白色的:

// 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);

firebug附加组件(firephp的要求)可以在这个网站上找到: Firebug

FirePHP插件可以在这个网站上找到: FirePHP

Ivo Trompert

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有