0

假设在 PHP 中有一个 Parent 类:

<?php
class Parent {

    public function speak()
    {
        // Do bunch of stuff
        $output = outcomeOfAbove();
        echo $output;
    }

}

你有一个班级孩子:

<?php
class Child extends Parent{

    public function speak()
    {
        parent::speak();

        echo 'Hello from child';
    }

}

现在假设我想要 Child speak() 函数中 $output 的内容,有没有办法捕获 parent::speak() 的输出;并阻止此功能回显?知道您无法更改“父”类。

4

1 回答 1

1

您可以使用 PHP 输出缓冲功能:

  public function speak()
  {
    ob_start();
    parent::speak();
    $parent_output = ob_get_contents();
    ob_end_clean();

    echo 'Hello from child';
  }

}

有关详细信息,请参阅PHP.net 手册

祝你好运 ;)

于 2013-03-31T10:15:04.493 回答