我们可以在PHP中的变量中存储回显文本吗?

时间:2015-05-08 05:52:15

标签: php

当我调用另一个类的函数(在包含的文件中)时,正在使用echo输出一些文本。我需要将它存储在一个变量中。

以下是代码:

require_once('../restapis/api.php');

class ApiTest
{
    public function testapis(){
       $api = new Api();
       $api->validate_request();
    }
}

$obj = new ApiTest();
$obj->testapis();

我在浏览器中收到了一个JSON字符串:

{"ERRORCODE":"E032","ERRORMESSAGE":"Invalid URL."}

我无权更改api.php文件中的任何内容,这就是我无法将echo更改为return的原因。

我有什么方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:7)

您可以使用output buffering

ob_start(); // Activate output buffering

$obj->testapis(); // Whatever code whose output you want to capture

$contents = ob_get_contents(); // Store buffered contents

ob_end_clean(); // Deactivate output buffering

之后,$contents将包含回显的输出。