返回True / False布尔值到http请求

时间:2013-10-30 03:50:34

标签: php web-services function return

我正在使用通过http发送$ _POST数据的第三方API,他们期待的所有数据都是真或假。

问题:我知道我可以回显字符串true或false但是可以返回类似函数返回的值吗?如果错误,我将通过回显或打印向屏幕发送错误消息。这会影响返回的布尔值吗?

if ( $_SERVER['REQUEST_METHOD'] === 'POST' ){ 

    $dataPOST = trim(file_get_contents('php://input'));
    receiveData($dataPOST);

}


public function receiveData($sentData)
{
$dom = new DOMDocument;
    $dom->Load($sentData);
    if ($dom->validate()) {

        return true;

}else{
                echo "The XML data was not valid";
                return false;


}

1 个答案:

答案 0 :(得分:1)

不,你做不到。外部API将期望结果中的字符串,并且您需要print该字符串作为响应。只是从函数返回true / false将不起作用。你需要回显真/假。是的,如果他们的API期望只看到这些值中的任何一个,那么打印任何额外的东西都会使响应无效。

而不是

 return true;     //This will never get back to their API like this, unless you print it somewhere

echo "true";

就像

一样
 if ($dom->validate()) {
        echo "true";
 }else{
        echo "false";
 }

但如果你仍然希望从这里return为真或假,那么在你调用函数的位置进行打印。