我需要能够为我的代码生成调试语句。例如,以下是我的一些代码:
$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中是否有设施允许我打印出显示每行代码的语句。或者为我自动创建调试行的方法。
答案 0 :(得分:0)
到目前为止,我已经发现了这种方法来减少一些工作....使用文本编辑器的宏功能。
将代码行粘贴到TextPad(或支持宏的类似编辑器)中。记录宏并使用搜索,标记和复制工具在变量的特殊符号之间仔细导航,例如$
,>
和不是字母数字或$
的符号,{{1复制,提取和粘贴变量的部分以制作我的特定陈述时,等等。
确切的步骤可能因人的需要而异。我的宏操作一个变量,如>
,光标位于开头,最后是$this->R->radius_ft
,光标在结束后有几个字符,有时与下一个要处理的变量重合。
也许正则表达式也可以这样做但我喜欢Macro的方式 - 我可以处理一个变量然后转到下一个变量,只需用热键组合重复宏。这为我带来了最繁琐的工作。
或者 - 将代码交给人,让他们弄明白。教他们如何阅读代码。