【发布时间】:2013-03-03 00:21:10
【问题描述】:
我继承了一些古老的代码来探索并弄清楚发生了什么。在整个意大利面条代码中散布着数百个几乎无法跟踪的回声和打印。
我一直在研究和搜索使用 STDOUT 的变体,但找不到任何不谈论使用和替代 PRINT/ECHO 的内容。
我正在寻找一种方法来有效地替换 PHP Echo/Print 使用我自己的函数,例如“MyEcho”,它将询问/记录从何时何地打印的内容。
有没有办法做到这一点,或者我必须编写函数,并替换整个代码中使用的所有打印/回显?
【问题讨论】:
-
我觉得可以覆盖系统
echo/print函数;但其他人需要加强/拒绝这个想法。 -
echo是一种语言结构,而不是函数,因此您不能覆盖它。您可以使用输出缓冲来防止将输出发送到浏览器,直到您想要它为止,但是如果您想监视什么时候回显,这对您没有帮助。 -
您需要分别处理每个打印/回显吗?如果没有,您可以使用输出缓冲并在运行旧代码后处理完整的输出。
-
我认为在这种情况下,您只需要一个好的 IDE 并替换所有的回声/打印。就我而言,我在 OSX 上使用 coda2,它允许我使用正则表达式查找和替换代码,寻找类似的东西。在很多情况下,替换/删除旧的东西最终可能会节省你的时间。