当我调用另一个类的函数(在包含的文件中)时,正在使用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
的原因。
我有什么方法可以做到这一点吗?
答案 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
将包含回显的输出。