手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜Qcloud , 注册 | 登陆

使用ZendFramework的时候打印SQL

首页 > PHP Framework >

在使用ZendFramework开发的时候,会遇到要对SQL进行优化的处理,但是从ZEND的DB类里并没有找到输出SQL的方法,唯一看到的输出也是在SELECT类里面有一个__toString()的方法,但这个方法也只能输出SELECT的语句,对于Insert,Update,Delete之类的语句并不能处理。

开始的时候,很郁闷,后来问HaoHappy,因为他是国内第一批翻译ZF手册的人,果然我一问,他一下子就说,有一个Profiler类可以解决。
翻开手册,Zend_Db_Profiler,里面果然有操作。。(注:类名是凭记忆的,以下内容也是凭记忆写出来的)

1、在DB的CONFIG里面把profiler打开,如果没有打开,则需要用$profiler =  $db->getProfiler();然后 $profiler->setEnable(true); (好象记错了,请看手册,我这里只说解决方法)

2、然后有一个设置 Profiler 的filter条件的,可以设定select,insert,update,delete的操作。

3、然后根据官方的例子,对SQL进行输出(手册上的例子,只是输出了执行时间最长的SQL哦)。如果需要每条都输出,你得在那个 if 判断外把sql 存储下来,即 $query->getQuery();

4、根据手册,还可以输出到fireBug和利用FirePHP来进行类似的debug,但我试了一下没有成功(  QEE 支持 firePHP ,不知道是否借鉴了ZEND的这个功能,猜测而己 )

纯粹是一个记录,顺便感谢一下HaoHappy




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: zend, framework, sql

« 上一篇 | 下一篇 »

只显示10条记录相关文章

QEE PHP 发布 (浏览: 23245, 评论: 5)
ZendFramewok介绍 (浏览: 20548, 评论: 0)
Fleaphp介绍(在迟来的QeePhp前的最后介绍) (浏览: 20230, 评论: 0)
【笔记】UBUNTU下安装zendoptimizer (浏览: 19244, 评论: 2)
如何取得当前数据的上一条和下一条的ID (浏览: 16639, 评论: 3)
Yiiframework(Yii框架)开发笔记:续四 (浏览: 16595, 评论: 3)
zendframework 1.6终于将SOAP放进去了 (浏览: 16225, 评论: 0)
來自風雪之隅的:深入理解PHP原理之foreach (浏览: 16098, 评论: 1)
Zend_Acl and MVC Integration Part I (Basic Use) (浏览: 15630, 评论: 0)
测试JS的速度 (浏览: 15190, 评论: 0)

发表评论

评论内容 (必填):