运行/调试你的PHP代码

前言

没有任何一名程序员可以一气呵成、完美无缺的在不用调试的情况下完成一个功能或模块。调试实际分很多种情况。本篇文章我分享下自己在实际开发工作中的经验,我个人理解,调试分三种,注意我所讲的是调试并非测试

  • 功能调试
  • 组件调试
  • 片段调试

功能调试是指在完成一个功能或者正在完成功能的过程中进行的错误、逻辑、结果的测试

组件调试是指将一个正在开发测试的插件、类进行错误、逻辑和结果的测试

片段调试是指将一段代码片段、函数、变量的预期和结果的测试

接下来我们看下本章列出的一些调试方法

暴力调试

这种方式简单粗暴,一般PHP程序员都会用,那就是浏览器调试,在编辑器内写完代码后随后打开万能的浏览器输入地址开始调试代码。

断点调试

说实在的,这种方式如果仅仅是看看输出结果,完全没必要,看似高大上实际浪费时间经历,一般我都会在代码块写好之后跑一遍debug,检查一下流程和结果是否在我的预期内或者遇到了某些逻辑问题无法察觉,还是选择断点调试比较靠谱,省时省力。最厉害的程序员也有懵逼的一刻不是吗?

命令调试

如果你在官网或者github上下载了一段代码片段,急于调试但还不愿意将代码片段放入项目中或者新开辟一个目录,完全可以使用php命令去执行这个代码块


php -f filename.php

如果代码片段较短,你可以使用


php -r "code ..."

执行运行PHP代码

片段调试

当你突然想起一个方法或者算法急于去验证它,但又不愿意打开编辑器或者执行php自带的命令行的话。你可以选择使用psysh工具去执行验证你的想法,这个工具安装十分简单


Psy Shell v0.8.17 (PHP 7.1.14 — cli) by Justin Hileman
New version is available (current: v0.8.17, latest: v0.9.6)
>>> date('Y-m-d H:i:s',time())
=> "2018-08-09 14:18:10"
>>>

下载地址 : https://psysh.org/

测试调试

这是一个严肃的调试方法,很多程序员都认为功能模块、组件开发完就结束的任务,随后交给测试人员去测试就好了。其实并不然,有些隐藏的bug或者致命错误、逻辑错误、系统错误(例如开启了无用的线程,未使用的变量、方法、类等等)是无法被测试出来的。实际作为一名程序员,开发功能的流程是这样的。


理解需求 -> 分解需求 -> 整理逻辑 -> 设计代码 -> 敲代码 -> 调试 -> 测试

如果最后一步你从来没有做过,那你只能是半个程序员。 测试我推荐使用PHPunit,更好的去理解自己的代码,才是一个合格的程序员。

编辑器调试

感觉讲这个有点废话了,如果你感觉打开命令行然后输入 php xxxx 特别费劲的话,你也可以选择使用编辑器自带的调试,一般像sublime,visual Studio Code , PHPStrom 都会自带的调试工具,其原理依旧是调用 php -r 但总比打开命令行输入命令要快的多。

致谢

这并不是一篇酝酿了很久的文章,是在我日常的开发中经常使用的几种调试方法。
感谢你看到这里,希望本篇文章可以帮助到你,有什么问题可以在评论区留言。谢谢

原文地址:https://www.cnblogs.com/lalalagq/p/9975258.html

时间: 2024-08-06 16:37:07

运行/调试你的PHP代码的相关文章

86/88汇编代码的运行调试

86/88汇编是windows系统的语言基础之一,本文就是在32位window操作系统下通过dos系统运行86/88汇编代码.我在上大学是为了计算机三级pc上机试题的运行发愁,我终于从微机原理上机实践课的一个例子中提取出运行86/88汇编代码的代码片段,并通过简单修改把三级pc上机试题的尾部全部转变成可以运行的代码.操作过程如下,希望给各位学弟学妹们有所帮助,顺利考过三级pc上机,增强大家的动手能力和让大家能够看到自己写的代码的运行结果. 版权声明:本文为博主原创文章,未经博主允许不得转载.

Spark运行调试方法与学习资源汇总

最近,在学习和使用Spark的过程中,遇到了一些莫名其妙的错误和问题,在逐个解决的过程中,体会到有必要对解决上述问题的方法进行总结,以便能够在短时间内尽快发现问题来源并解决问题,现与各位看官探讨学习如下: 解决spark运行调试问题的四把“尖刀”: 1.Log 包括控制台日志.主从节点日志.HDFS日志等.许多错误可以通过日志,直接对错误类型.错误来源进行准确定位,因此,学会读取和分析Log是解决问题的第一步. 2.Google 确定错误类型和原因后,就可以使用Google在Spark User

【Android】Android Studio 1.5+ 中混合调试Native和Java代码

[Android]Android Studio 1.5+ 中调试Native和Java代码 Android Studio 1.5+表示Android Studio 1.5版本以及以上. 网上大部分中文或英语教程还是停留在老版本的Android Studio的Debug的设置,要么不全.正好最近工作中要在Android Studio中调试C++代码,就来写一篇咯. Android Studio 1.5+的调试设置与之前有所不同. 而且新版中推出了一个Hybrid的调试:可以混合调试Native代码

代码示例:一些简单技巧优化JavaScript编译器工作详解,让你写出高性能运行的更快JavaScript代码

告诉你一些简单的技巧来优化JavaScript编译器工作,从而让你的JavaScript代码运行的更快.尤其是在你游戏中发现帧率下降或是当垃圾回收器有大量的工作要完成的时候. 单一同态: 当你定义了一个两个参数的函数,编译器会接受你的定义,如果函数参数的类型.个数或者返回值的类型改变编译器的工作会变得艰难.通常情况下,单一同态的数据结构和个数相同的参数会让你的程序会更好的工作. function example(a, b) { // 期望a,b都为数值类型 console.log(++a * +

Django项目导入Eclipse运行调试

受不了没有调试的感觉. 前提是Eclipse插件已经安装完成并且可以成功运行例子.参考:http://blog.csdn.net/jerome_s/article/details/46340079 1. 新建一个"Pydev Project"项目 2. project contents选择要导入的项目的路径 (如果有提示多余文件什么的可进入目录删除对应文件即可) 3. 将项目设置为django项目 右击项目 4. 设置项目manage.py 右击项目属性 5. 运行 右击项目debug

jnlp本地运行调试

jnpl本地运行调试,需要在java控制面板中设置下,打开控制面板->Java->高级:其中调试下面的启用跟踪启用日志记录,显示小应用程序生命周期异常错误都打上勾.java控制台下面显示控制台选中,就可以在运行的时候看到相关信息了. 记录一下..

Tigase-02 tigase-server7.1.0使用git 克隆下来,并在eclipse 上运行调试

继 Tigase-01 使用spark或spi登录Tigase服务器,这节说明下使用 eclipse git克隆 tigase-server7.1.0,并运行调试!最近有不少同学尝试去git clone 源代码遇到不少麻烦,所以这里就统一写个文章来展示下怎么去克隆源代码,这也是曾经一位同学给我指导的,在此谢谢小张同学,互相学习真是无所不能啊!所以今天我22点下班后,回来就开始准备写这个文章拉,希望能帮到更多同学拉拉拉! 使用eclipse 来跑tigase 源码的方法有三种: 一.网速快的同还可

JS 运行、复制、另存为 代码。

//运行代码 function runEx(cod1) { cod = document.getElementById(cod1) var code = cod.value; if (code != "") { var newwin = window.open('', '', ''); newwin.opener = null newwin.document.write(code); newwin.document.close(); } } //复制代码 function doCopy

利用 PhpStorm、Idea 等 IDE 如何 运行/调试 Go 程序 ?

以自己常用的 PhpStorm 为例 第一步:下载安装 Go插件 File -> Settings -> Plugins -> 输入关键字:Go 第二步:新建 Go项目 File -> New Project -> 选择“Go” 特别注意: 新建 Go项目时,一定要通过上述方式建立,而不能通过 “直接打开现有文件夹” 的方式建立,因为这种方式建的是 PHP 项目.不然,Go 的智能提示等功能都失效! 第三步:新建 Go 文件 New -> Go File 第四步:运行/