如何检查我的函数打印/回声是否为某种东西?

2022-08-30 18:53:46

我经常使用echo来调试函数代码:

public function MyFunc() {

    // some code...
    echo "OK";
    // some code...

}

如何检查我的函数打印/回声是否为某物?

(伪代码):

MyFunc();

if (<when something was printed>){
    echo "You forgot to delete echo calls in this function";
}

答案 1

这应该适用于您:

只需调用您的函数,同时打开输出缓冲并检查内容是否为空,例如

ob_start();

//function calls here
MyFunc();

$content = ob_get_contents();

ob_end_clean();

if(!empty($content))
    echo "You forgot to delete echos for this function";

答案 2

您可以创建一个标志和一个函数,该函数检查调试标志,然后才回显消息。然后,您可以从一个位置打开和关闭调试消息。$debugdebuglog()

define('DEBUGMODE', true); // somewhere high up in a config

function debuglog($msg){
    if( DEBUGMODE ){ echo $msg; }
}

如果要删除调试回显,可以搜索并删除这些代码行。这样,您就不会意外删除正常执行中所需的任何 echo 语句,也不会错过任何真正应该删除的调试 echo 语句。"debuglog("


推荐