仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 821|回复: 18
打印 上一主题 下一主题

[学习教程] PHP网页设计Xdebug PHP 调试器的利用详解

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:39:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一下弹出N多页面!很明显,你的留言本并没有做好安全防范,被人用JS代码小小的耍了一下,我很同情你这个时候的感受,但是没有别的办法了,继续努力吧!      固然您可使用 PHP 为体系办理和传统数据处置之类的义务创立号令行剧本,然而编程言语对 Web 使用法式的功能有次要影响。在利用过程当中,每一个 PHP 使用法式都驻留在办事器上,而且将经由过程代办署理(例如 Apache)挪用 PHP 使用法式处置到来的恳求。关于每一个恳求,典范的 PHP Web 使用法式在冗长运转后将失掉一个 Web 页面或 XML 数据布局。
  假定经由复杂的运转后,一个分层机关的 Web 使用法式 —— 包含客户机、收集、HTTP 办事器、使用法式代码和底层数据库 —— 将会很难隔离 PHP 代码中的毛病。即便假定除 PHP 代码之外一切层都可以正常运转,跟踪 PHP 代码中的毛病也会十分难,特别是在使用法式使用较多的类时更是如斯。
  PHP 语句 echo 和函数 var_dump()、debug_zval_dump() 和 print_r() 都是罕见且盛行的调试帮助东西,可以匡助处理多种成绩。然而,这些语句 —— 乃至更强健的东西,例如 PEAR Log package —— 都是取证东西,必需在高低文情况以外先辈行推想剖析才干生成证据。
  在某种水平上,经由过程推论停止调试是一种蛮干的做法。搜集并挑选数据,测验考试推论动身生的成绩。假如短少主要信息,则必需从头测试代码、反复履行步调,然后从头入手下手研讨。一种加倍高效的办法是在 法式运转时探测使用法式。您可以对恳求参数分类,挑选进程挪用仓库,并查询任何所需的变量或对象。您可以临时中止使用法式而且可以在变量更改值时收到警报。在某些情形下,您可以经由过程交互式扣问 “假如……会如何?” 成绩来实践影响变量。
  称为调试器 的特别使用法式撑持这类 “及时的” 或交互式的反省。调试器能够启动并毗连到历程上以便掌握历程并监测其内存。或,在利用注释言语的情形下,调试器可以直接注释代码。典范的古代图形化调试器可以索引并阅读代码,以合适人类浏览习气的模式轻松地显示庞杂的数据布局,并同时显示法式形态,如挪用仓库、两头输入和一切变量的值。例如,调试器凡是城市把类的属性和办法分类并停止描写。
  在本文和下一篇文章中,我将引见的东西必定可以简化 PHP 调试。下一次,我将次要引见交互式调试和 Zend Debugger —— 一个出格针对 PHP 的强健调试器 —— 并探求它供应的很多功效。(Zend Debugger 是一款贸易产物,是 Zend PHP 集成开辟情况(IDE)的一局部)。我还将引见一款开源 PHP 调试器,以避免您只愿把钱花在啤酒上,而不是花在代码上。然而,本文将次要引见若何更好地取证。
  相似《犯法现场查询拜访》,只是更使人厌恶
  代码失足、未能生成某个所需了局或完全溃散时,您需求回覆四个 w 成绩:where、what、why 和 when:
  “where” 是使用法式最初一次正常运转时地点的文件和行号。
  “what” 是出错的代码 —— 好比说,嫌疑犯。
  “why” 是毛病的实质。能够它是一个逻辑毛病和/或与操作体系停止交互所招致的毛病,或二者兼具。
  而 “when” 是呈现毛病时的高低文。在法式终止前产生了甚么情形?像在一切犯法行动中一样,假如您可以搜集到足够的线索,那末线索就能够匡助您找到囚徒。
  一种取证东西 Xdebug(上一篇文章中利用的东西,用于剖析 PHP 使用法式功能),如称号所示,将供应几个申明法式形态的功效,而且是应该添加到指令体系中的价值颇高的研讨东西(请参阅 参考材料)。装置后,Xdebug 将禁止无穷次递归(外表上是如许)、修改关于仓库跟踪和函数跟踪的毛病动静和监督内存分派,并供应其他功效。Xdebug 还包含一组函数,您可以将这组函数添加到代码中以停止运转时毛病诊断。
  例如,上面的代码将利用一些 xdebug_...() 步调测试 callee() 函数,以便输入挪用法式的详细地位,包含文件名、行号和挪用函数的称号。
  清单 1. 测试 callee() 函数的步调
  
  function callee( $a ) {
  echo sprintf("callee() called @ %s: %s from %s",
  xdebug_call_file(),
  xdebug_call_line(),
  xdebug_call_function()
  );
  }
  $result = callee( "arg" );
  ?>
  这段代码将生成:
  callee() called @ /var/www/catalog/xd.php: 10 from {main}
  回页首构建和装置 Xdebug
  Xdebug 可以很轻松地从 UNIX
第二个灵魂 该用户已被删除
沙发
发表于 2015-2-4 05:01:12 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
透明 该用户已被删除
板凳
发表于 2015-2-6 18:39:35 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
小魔女 该用户已被删除
地板
发表于 2015-2-9 03:00:55 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
因胸联盟 该用户已被删除
5#
发表于 2015-2-9 07:45:52 | 只看该作者
爱上php,他也会爱上你。
冷月葬花魂 该用户已被删除
6#
发表于 2015-2-23 21:56:11 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
乐观 该用户已被删除
7#
发表于 2015-3-7 10:25:33 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
深爱那片海 该用户已被删除
8#
发表于 2015-3-8 15:58:02 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
山那边是海 该用户已被删除
9#
发表于 2015-3-16 03:55:01 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
若相依 该用户已被删除
10#
发表于 2015-3-28 07:49:07 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
精灵巫婆 该用户已被删除
11#
发表于 2015-3-29 17:02:30 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
简单生活 该用户已被删除
12#
发表于 2015-3-30 15:23:29 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
金色的骷髅 该用户已被删除
13#
发表于 2015-4-6 18:19:49 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
爱飞 该用户已被删除
14#
发表于 2015-4-10 01:55:38 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
只想知道 该用户已被删除
15#
发表于 2015-4-12 16:16:57 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
16#
发表于 2015-4-16 08:34:13 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
小妖女 该用户已被删除
17#
发表于 2015-5-4 05:25:45 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
海妖 该用户已被删除
18#
发表于 2015-5-4 05:27:05 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
再现理想 该用户已被删除
19#
发表于 2015-5-6 16:09:29 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-13 10:29

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表