二次开发设计的一些工作经验之谈

二次开发设计的一些工作经验之谈

归类频道:织梦cms开发设计


假如您想此后贴立即得到一些有效的软件、控制模块、或编码,请绕道~~
授人以鱼 還是 授之以渔 ,此贴是后面一种,期待对给你所协助
* 提醒:假如你是PHP程序编写有较为深层次工作经验了,请写保护红字內容就可以,其他绕过。
 假如你是PHP新手,请细心阅读文章全部文本,别嫌繁杂,对你提升有益处!
1、实行header()前輸出的空格符、空白行、一切标识符,都是造成header()自动跳转无效!
 最先.要清查的是英语的语法不正确(假如当php.ini里设定不是显示信息一切不正确得话,英语的语法错也会造成一片空白页),(如何了解是这一文档呢,非常简单,在哪个一片空白页的网页页面上,点鼠标右键,看特性,就会有详细地址URL和传送的主要参数),我将一行die( aa 放到了编码第一行,这一作法便可以检测有没有英语的语法,由于英语的语法错不光能够产生在catalog_do.php文档自身,还能够产生在 catalog_do.php文档所引入的文档里(包含这种文档里再引入的一切一级文档里),因此假如这一第一行die( aa 都不能实行,就必定是英语的语法错。由于能輸出aa,换句话说英语的语法沒有错,就必然是某类程序上的逻辑性错。
 随后进一步找寻逻辑性不正确产生的文档,这就必须追踪编码的所实行到的地区,因为沒有一切提醒,也還是运用die( aa ,把这一行向下移到catalog_do.php文档的include、require等句子以后,假如不可以实行,表明在include、require 所引入的文档里,编码实行就终止了,相反表明这些文档实行是一切正常的。这一步,仍然能显示信息aa,表明不正确是产生在catalog_do.php文档里(假如是产生在别的所引入的文档里,就用此法开启这些文档去如果是调节)
 随后再此篇件里一步歩找寻产生不正确的实际编码段,最先需看连接此篇件情况下的主要参数(在哪个一片空白页的网页页面上,点鼠标右键,看特性,就会有详细地址URL和传送的主要参数),而点一下 內容 时连接此篇件的URL为 catalog_do.php?cid=3 dopost=listArchives(它的含意,大家能够猜想它cid是频道ID,而最大要的是 dopost=listArchives这一主要参数,由于大家在catalog_do.php文档里,能看到接下去的编码,便是一连串的if (dopost== .... ){  }else if(dopost== .... ){ }else.....的分辨,它便是让程序执行,依据回来的dopost=主要参数的不一样,进到不一样的解决),好,大家就立即寻找if (dopost== listArchives ){ 这儿,把die( aa 放进随后它的第一行,看一下还可否輸出aa,假如能够輸出,表明程序恰当进到了总体目标程序段,不然便说明dopost== listArchives 这一分辨沒有做到预估的实际效果(假如是这一状况,你也就好些好对比刚刚的URL和这一dopost== listArchives ,有木有写错主要参数名、尺寸写有木有搞错了,也有便是dopost值有木有在前边就被更改了,最经常见的错便是相近写出了dopost== listarchives ,或是在前头某一分辨里写出了dopost= ... ),好,仍然能輸出aa,表明程序也进去这儿了。.
 随后再次找寻产生不正确的编码行,再次移动die( aa 的玉步,每一次移动完,更新哪个空白页网页页面,看一下可否輸出aa(这儿有方法,想快,也不要逐行移动,只是运用折半搜索,或是在重要编码前后左右插进,这一就必须较为强的编码阅读文章工作能力和一定的程序编写工作经验了,不进行了),最终,发了如今header( location:{$gurl}?channelid= {$channelid} cid={$cid} 这一行以前能輸出aa,这一行以后也可以輸出aa,而我是很清晰,这一行本应自动跳转到某一特定的网页页面上的,后边不可该輸出aa,同时因为我了解导致这一难题,一般是由于程序运行在以前就輸出过标识符(假如你没清晰,就查google或指南)!
 接下去的工作中,便是找哪一个文档有这一輸出了,天啊,这很难找了!因此我换了此外一个作法 改动清查法 ,我还在当地将我这些改动的编码,也换掉去,发觉沒有出現那样的难题,换句话说,我写的文档沒有难题。随后我将顾客全部文档,都列举来,按改动時间排列,并了解了顾客最终能够一切正常应用这一作用的時间,发觉了一堆在这时间以后改动的php文档,去除我改动的这些文档,就剩余2个文档了,在其中一个是include/extend.func.php文档,mon.func.php所引入,而common.func.php也是被整站全部文档所引入的文档! 因此打了开这一文档,豁然在最终? 以后,有2个空格符一个空白行!!!!!!
  把这种空格符空白行删掉,.到此作用就所有一切正常了(包含我还在控制模块表中自定了一个控制模块连接,它在这里个不正确的状况下,不可以显示信息在控制模块目录里,如今也一切正常了)!
  之上文本,针对初中级PHPer,能够学习培训领悟一点点PHP调节技术性;针对PHP早已较为熟的,而对DEDE也有有点儿生疏的,这儿出示的一条工作经验便是:改动DEDE的全部PHP文档,干万不必在头尾二行的 ? ? 以外,载入一切标识符,包含空格符和空白行!!
三疯源代码官方网手机微信微信公众号二维码 × 开启手机微信,点一下右上方的“法术棒”,挑选“扫一扫”作用,指向正下方二维码就可以。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://znktk.cn/ziyuan/3881.html