建站三人行

当前位置: 主页 > PHP >

对dedecms的调试

时间:2010-02-10 11:36来源:原创 作者:LovePHP(本站站长) 点击:
如果对dedecms不感兴趣可以不看,其实这个方法适合所有php文件的调试,其他的什么phpcms ,或者自己写的php文件都可以用这个方法。我是用的dedecms建的网站,就以他为例来说明好了。

  如果对dedecms不感兴趣可以不看,其实这个方法适合所有php文件的调试,其他的什么phpcms ,或者自己写的php文件都可以用这个方法。我是用的dedecms建的网站,就以他为例来说明好了。

  在压缩包中有个文件夹"dedecms调试" ,里面有三个文件,一个是mydb.php 文件,一个是mydb2.php文件,最后一个是mylog.php文件。这最后一个mylog.php文件是我根据网上的代码写的统计访问人数的,算个小小小插件吧。mydb.php和前面提到的TP框架调试时用到的mydb.php文件的内容大部分都是一致的,只是在备份文件的处理上有些不同罢了,mydb2.php是调试时所需要的中间文件,可以不用多管。

  将mydb.php和 mydb2.php放到dedecms的根目录就可以了,我这里就用他们对 mylog.php文件进行调试作为说明,我把mylog.php文件放到 dedecms的member目录下,然后修改了主页模板,弄出一小片用于统计人数的区域来,通过ajax方法和mylog.php进行交互获取人数信息。

 打开mydb.php文件,在最后几行如下所示:

 MyDb::$path_alias=array('make'=>'./dede/makehtml_homepage.php',
                        'mylog'=>'./member/mylog.php',
                        'dedetag'=>'./include/dedetag.class.php',
                        'chanu'=>'./include/channelunit.func.php',
                        'mainconfig'=>'./dede/config.php',
                        'media_add'=>'./dede/media_add.php',
                        );

//正在使用的文件为:  mylog
 //MyDb::mydb2('view','dos&xxoo',array(170));$mydb_ref_  分隔符:^^& 注意填写array里的值时使用单引号,如 array(1=>'#$mydb')  如果写成 array(1=>"#$mydb"); 那么$mydb就不会作为字符串解析,就会出错咯!

//MyDb::huifu('mynews');
//MyDb::huifu('mylog');

MyDb::mydb2('mylog','dos&xxoo',array(5=>'!^$_COOKIE',9=>'@setcookie'));

 可以看得出,和前面提到的TP框架的调试差不多,先在 MyDb::$path_alias 数组中注册一个目标文件的别名,我这里是mylog,对应的键值就是目标文件相对于mydb.php的相对路径,这里就是 ./member/mylog.php 。然后用MyDb::mydb2函数对目标文件进行调试,里面涉及到的参数和TP框架调试时是一样的。 比如上面的例子就是调试mylog.php文件的第五行的$_COOKIE变量,以及调试第九行的setcookie函数的返回值。在写mydb2函数时,最好把目标文件的别名写到上面的注释:"正在使用的文件为" 后面,这样,后面恢复的时候就知道哪些需要恢复了。

  在mydb.php文件中写完这些调试信息后保存,打开浏览器输入mydb.php的url路径,假设是:http://localhost/mydb.php 然后执行哈,当浏览器提示写入某某文件成功后,目标文件就被插入调试函数了,同时在mydb.php文件所在的目录下会出现两个目录:一个是备份用的bak目录,一个是存放中间解析文件的parse目录,这些以前都提到过。然后,打开dedecms的主页,当ajax访问mylog.php文件时,就会通过前面在目标文件中插入的调试函数mydb_logval 将 $_COOKIE和 setcookie的返回值记录到 message.php文件中(message.php文件也在mydb.php所在的目录下)。

  在进行完调试后,可以将mydb2函数注释掉,再在huifu函数中写入要恢复的目标文件的别名,由于前面在注释"正在使用的文件为" 后面 加入了别名,此时可以将他们一起去掉。最后保存mydb.php文件,并在浏览器中输入类似于 http://localhost/mydb.php的url后,在浏览器显示“恢复成功”的字样后,就OK了。其他文件的调试都是一样的。所有调试的内容都说完了。这回不用说休息了,直接说再见咯。等等,再见之前,还有个事,在首页的软件区里除了 TP变量调试插件的下载外 还有个 TP变量调试插件使用手册 ,这个手册是站长用 友益文学软件 制作的电子说明书。

(责任编辑:zenglong)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容