如何轻松生成PHP代码的调试语句?

时间:2015-04-09 14:35:22

标签: php text-processing

我需要能够为我的代码生成调试语句。例如,以下是我的一些代码:

$this->R->radius_ft  = $this->TC->diameter / 24;
$this->R->TBETA2_rad = $this->D->beta2 / $rad; //Outer angle
$this->R->TBETA1_rad = $this->R->inner_beta1 / $rad; //Inner angle

我需要能够显示计算结果,以便人们可以阅读它们。

到目前为止,我一直这样做(示例仅显示上面的第一行):

$this->R->radius_ft  = $this->TC->diameter / 24;
if (self::DEBUG)
    print("radius_ft({$this->R->radius_ft}) = diameter({$this->TC->diameter}) / 24");

以上打印类似于radius_ft(1.4583) = diameter(35) / 24,其中一些行看起来像方程式,当我想在纸上验证内容时,或者我想将计算的中间工作暴露给其他人时,它们可以很好地追溯

问题是构造那些调试语句是一件痛苦的事。我手工制作它们,通常它不是问题,但在我目前的例子中,有数百行代码需要完成。很痛苦。

我想知道PHP中是否有设施允许我打印出显示每行代码的语句。或者为我自动创建调试行的方法。

1 个答案:

答案 0 :(得分:0)

到目前为止,我已经发现了这种方法来减少一些工作....使用文本编辑器的宏功能。

将代码行粘贴到TextPad(或支持宏的类似编辑器)中。记录宏并使用搜索,标记和复制工具在变量的特殊符号之间仔细导航,例如$>和不是字母数字或$的符号,{{1复制,提取和粘贴变量的部分以制作我的特定陈述时,等等。

确切的步骤可能因人的需要而异。我的宏操作一个变量,如>,光标位于开头,最后是$this->R->radius_ft,光标在结束后有几个字符,有时与下一个要处理的变量重合。

也许正则表达式也可以这样做但我喜欢Macro的方式 - 我可以处理一个变量然后转到下一个变量,只需用热键组合重复宏。这为我带来了最繁琐的工作。


或者 - 将代码交给人,让他们弄明白。教他们如何阅读代码。