是否存在类似于 `pry` 的 PHP 工具?

19

我有些偏爱ruby,习惯使用神奇的pry为应用程序提供解决方案。 我将应用程序锁定到1个线程,然后让pry在httpd控制台中弹出,然后能够解决许多问题,但是我没有发现类似于PHP的这种可用解决方案。 在执行期间调试和跟踪数据结构等是否有类似或被接受的解决方案?


几乎是 REPL for PHP 的副本,但不要求交互式调试。 - Chris Wesseling
5个回答

17
我完全明白你的意思。我也在从Pry迁移到PHP之后错过了它。到目前为止,PsySH 看起来是最像Pry的最佳PHP REPL。它具有反射功能,因此您可以使用命令 如 ls 来评估变量、常量、类等。 还有一个帮助命令,类似于Pry 的 show-doc,允许您阅读函数或对象属性的文档。 您甚至可以查看任何对象的源代码,就像Pry的 show-source 命令一样。 此外还有调试:

“PsySH可以用作交互式调试器,就像JavaScript的debugger语句一样,使您免受无尽的var_dump()和die()迭代的困扰。只需在要设置断点的位置放置此行:

\Psy\Shell::debug(get_defined_vars());”

Boris也是另一个很棒的PHP REPL,类似于Pry。

2
绝对是一个非常好的发现。非常感谢您分享这个,因为它比任何其他已经假定或发现的解决方案都要好得多。 - ylluminate
2
没问题。我很高兴自己找到了它。Pry是Ruby社区中我们认为理所当然的优秀工具。当我开始学习PHP时,寻找一个像Pry这样好的REPL是我做的第一件事情。 - Adam
1
不开玩笑,我很高兴几个月前离开了PHP。去年我们在几个大项目上使用了几个月的PHP(之前我用了几年),但由于一些问题,我们决定回到Ruby开发。现在我们又回到了飞快的开发速度。尽管如此,这是一个好消息,以防万一出现任何问题!当我们建造PHP的纸牌屋时,我们都需要任何可能的帮助... ;) - ylluminate
很酷。是的,无论你选择什么编程语言,知道你将拥有好的工具总是很好的! - Adam

2

我从来没有使用过PsySH。但是Dephpugger相当于ruby的byebug或python的ipdb。你也可以很容易地安装它。 - Renato Cassino

0

我不是很熟悉Ruby和pry,但就我所了解的,pry是一个调试工具。在调试php时,我使用一个名为wamp的本地Web服务器,并带有内置的xDebug。结合IDE:Netbeans或Eclipse,您可以在执行php脚本期间查看数据结构/对象。


当然,我熟悉xdebug,并且我们使用它,但是我们更喜欢一些更像“pry”的东西,因为它的方法论非常强大,而且在调试时可以快速地在shell中利用它。 - ylluminate

0

我没有接触过 Ruby。

但是 PHP 的调试可以通过

*)

使用 WAMP 服务器和 Firebug 以及 FirePHP 来完成


0

PHP和Ruby的工作方式不同,很难在你所问的情境下进行比较。

通过调试来检查运行时中的复杂结构,在PHP中完成,这意味着客户端调试端(= PHP IDE)必须能够与运行PHP的服务器调试端进行通信(通常是通过使用特殊名称的cookie,例如通过URL DBGSESSID = 123& dbgParam1 = 123)。

因此,Web服务器上的PHP必须安装特殊的调试模块(如XDebug),当调试客户端说“现在停止”,则Web服务器会在某个断点处暂停执行,从而公开任何本地、全局、静态等数据结构。

如果感兴趣,请查看支持调试的可用PHP IDE: 什么是最好的PHP IDE?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接