简杰的php编程分享-1.2 xdebug的实际运用

介绍

上一期 中咱们已经把 xdebug 和 phpstorm 的关联配置设置好了,接下来我将会深刻的介绍 debug 的运用。分为3点内容php

  • 快速找到错误的缘由
  • 辅助读懂比效复杂的代码
  • 代码重构

环境说明

  • windows
  • vagrant+vbox+centos7+nginx+php
  • phpstorm

学前准备

  1. xdebug + phpstorm 调试环境已经能够正常运行

调试跳转

图标 描述
Debug 当当前应用程序中止时,单击此按钮再次调试。
Pause Program 单击此按钮可暂停程序执行。
Stop 单击此按钮,经过标准关闭脚本从外部终止当前进程。
View Breakpoints 单击此按钮以打开断点对话框,您能够在其中配置断点行为。
Mute Breakpoints 使用此按钮切换断点状态。
Show Execution Point 单击此按钮以突出显示编辑器中的当前执行点,并在框架窗格中显示相应的堆栈框架。
Step Over 单击此按钮执行程序,直到当前方法或文件中的下一行,跳过在当前执行点引用的方法(若是有的话)。若是当前行是方法中的最后一行,则执行步骤到在此方法以后执行的行。
Step Into f7单击此按钮,使调试器步骤进入在当前执行点调用的方法。
    Step Out 单击此按钮,调试器将从当前方法中退出,并当即执行该行。
Run to Cursor 单击此按钮恢复程序执行并暂停,直到执行点到达编辑器中当前游标位置的行。不须要断点。实际上,插入符号处的当前行有一个临时断点集,一旦程序执行暂停,就会删除它。所以,若是插入符号位于已经执行的行上,则程序将从新开始执行,由于没法回滚到之前的断点。当您深刻到方法序列中并须要st时,这个操做特别有用

快速找到错误的缘由

在开发中咱们常常会碰到不少 bug。通常有如下几种nginx

  • php 语言报错

报错时,咱们应该先看下报错内容,这很重要,他可让你知道你的代码错那里了。通常会返回给你错误是那一行,环境装了 xdebug 后还会显示错误的地址运行时通过了那些文件,那些方法算法

  • 写数据库操做失灵

这个错误难度就高了些。由于你须要了解当前业务须要改那些数据表。操做事后那张表的数据漏了。这个操做你有没有写。虽说只要本身了解业务就能够不用调试也能够快速解决,可是传参或返回很复杂。那这个就很适合了数据库

辅助读懂比效复杂的代码

工做中并非全都是本身使用框架开发,有时还会为了进度使用一些开源的项目(ecshop,dedecms)。也多是前同事遗留的代码。本身写的东西很容易看懂,可是看别人的东西,若是写的很差那绝对是恶梦。你会在看都不想看,内心在吐槽代码不合理的地方。心中始终十分抗拒,致使功能变动延期。segmentfault

复杂的代码只须要知道它会接收什么参数,返回什么东西就能够了。若是不是很重要彻底能够不看它内部的内容。把它隔离开来。windows

学习技术超前的代码运行逻辑。那就须要进行断点调试了。centos

代码重构

代码重构是维护一个写的很烂的项目必需经历的过程。重构的核心也是知道指定的方法有那些改变,或把它拆分出来。或把它整合到一块。框架

  1. 断点查看原逻辑有那些操做,记录下来,若是不是算法,主要记录的仍是数据表操做
  2. 每一个操做都有传参和返回,在调试模式下咱们很容易就知道访问方法前环境中有那些参数可供使用
  3. 重构完后,可使用相同的请求参数来访问重构代码。结果一致就为重构完成了

系列文章

  1. xdebug的安装配置
  2. xdebug的实际运用 [本篇]
  3. xdebug性能分析

FQA

  1. 文章字太多了,不想看
个人文章有对应的视频,你能够经过视频来进行学习这一期的内容。
可是你不要吐槽我语言表达能力和普通话,由于我平时也不怎么说话,想练习口才才作的视频。附上 连接
相关文章
相关标签/搜索