在PHP CodeIgniter中获取echoed字符串的值?

时间:2011-12-08 06:41:07

标签: php codeigniter echo

我需要在CodeIgniter或PHP中获取echo-ed字符串的值。

例如

class SampleClass {

 function myFunc() {
  echo "true"; 
 }

}

class TestSampleClass {

 $obj = new SampleClass();
 function test_myFunc() {
  $obj->myFunc();
  // I want to get the 'true' string to be compared..
  // how can i get the string 'true' that is echoed in myFunc()
 }

}

有可能吗?

请帮忙。

非常感谢。

1 个答案:

答案 0 :(得分:0)

虽然我认为这个问题与CodeIgniter无关,但您可以通过捕获缓冲区并将其发送到某些回调函数来明确检查输出

<?php
class SampleClass {

 function myFunc() 
 {
    echo 'true'; 
 }

}

class TestSampleClass {

 static function compare($buffer)
 {
    if ($buffer == 'true')
    {
       return 'Yes, it was true';
    }
    else
    {
       return 'Sorry, it was not true';
    }
 }

 function test_myFunc() 
 {
    $obj = new SampleClass();

    ob_start('TestSampleClass::compare');

    $obj->myFunc();

    ob_end_flush();
 }

}

$TSC = new TestSampleClass;

echo $TSC->test_myFunc();
?>

你可以看到输出:http://codepad.org/LxEoh37W