我有些偏爱ruby,习惯使用神奇的pry
为应用程序提供解决方案。 我将应用程序锁定到1个线程,然后让pry在httpd控制台中弹出,然后能够解决许多问题,但是我没有发现类似于PHP的这种可用解决方案。 在执行期间调试和跟踪数据结构等是否有类似或被接受的解决方案?
ls
来评估变量、常量、类等。 还有一个帮助命令,类似于Pry 的 show-doc
,允许您阅读函数或对象属性的文档。 您甚至可以查看任何对象的源代码,就像Pry的 show-source
命令一样。 此外还有调试:
Boris也是另一个很棒的PHP REPL,类似于Pry。“PsySH可以用作交互式调试器,就像JavaScript的debugger语句一样,使您免受无尽的var_dump()和die()迭代的困扰。只需在要设置断点的位置放置此行:
\Psy\Shell::debug(get_defined_vars());”
我不是很熟悉Ruby和pry,但就我所了解的,pry是一个调试工具。在调试php时,我使用一个名为wamp的本地Web服务器,并带有内置的xDebug。结合IDE:Netbeans或Eclipse,您可以在执行php脚本期间查看数据结构/对象。
PHP和Ruby的工作方式不同,很难在你所问的情境下进行比较。
通过调试来检查运行时中的复杂结构,在PHP中完成,这意味着客户端调试端(= PHP IDE)必须能够与运行PHP的服务器调试端进行通信(通常是通过使用特殊名称的cookie,例如通过URL DBGSESSID = 123& dbgParam1 = 123)。
因此,Web服务器上的PHP必须安装特殊的调试模块(如XDebug),当调试客户端说“现在停止”,则Web服务器会在某个断点处暂停执行,从而公开任何本地、全局、静态等数据结构。
如果感兴趣,请查看支持调试的可用PHP IDE: 什么是最好的PHP IDE?