我继承了一些古老的代码来探索并弄清楚发生了什么。遍布意大利面条代码的是数百个几乎不可能遵循的回声和打印。
我一直在研究和使用 STDOUT 的变体进行谷歌搜索,但找不到任何不谈论使用和替代 PRINT/ECHO 的内容。
我正在寻找一种方法来有效地用我自己的名为“MyEcho”的函数替换PHP Echo/Print,该函数将询问/记录从何时何地打印的内容。
有没有办法做到这一点,或者我必须编写函数,并替换整个代码中使用的所有打印/回显?
使用输出控制功能,如ob_start()
。
似乎直接重载 echo 可能是不可能的,但是这个 StackOverflow 的另一个问题可能对你有一些线索。
您可以进行批量搜索/替换替换echo
为echo __FILE__ , __LINE__ ,
正如echo 手册所述,它不是真正的函数,而是一种语言结构,因此您不能像使用系统函数那样覆盖它。(使用命名空间)
我认为您最好的选择是简单地使用诸如ecobyte 替换文本之类的东西来替换echo
和print
其他东西。
请记住,您可能会遇到问题,因为括号不是必需的echo
,print
而是您的函数。echo 也可以使用 a 允许多个参数,
,这也可能破坏您自己的方法。
我认为没有太多事情要做,然后全部替换并希望最好或手动完成。