我可以将所有PRINT和ECHO输出重定向到PHP函数吗?

时间:2013-03-14 15:05:17

标签: php stdout

我继承了一些古老的代码来完成并弄清楚发生了什么。整个意大利面条代码中散布着数百个回声和印刷品几乎无法遵循。

我一直在使用STDOUT的变体进行研究和谷歌搜索,但找不到任何与PRINT / ECHO的使用和替代无关的内容。

我正在寻找一种有效替换 PHP Echo / Print的方法,使用我自己的函数调用类似“MyEcho”的函数来查询/记录从何处和何时打印的内容。

有没有办法做到这一点,或者我必须编写函数,并替换整个代码中使用的所有print / echo?

3 个答案:

答案 0 :(得分:1)

使用output control functions,例如ob_start()

答案 1 :(得分:0)

似乎无法直接重载回声,但this other StackOverflow question可能会为您带来一些线索。

您可以使用echo

替换echo __FILE__ , __LINE__ ,进行批量搜索/替换

答案 2 :(得分:0)

正如the manual on echo所述,它不是真正的函数,而是语言结构,因此你不能像系统函数那样覆盖它。 (使用命名空间)

我认为您最好的选择是简单地使用ecobyte replace text之类的东西来替换echoprint

请记住,您可能会遇到问题,因为echoprint不需要括号,但对于您的功能,它们是必需的。此外,echo可以使用,允许多个参数,这也可能会破坏您自己的方法。

我认为没有什么可做的,然后更换所有并希望最好或手动完成。