You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
1.3 KiB

<?php
/**
* @link http://www.yiiframework.com/
* @copyright Copyright (c) 2008 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/
namespace yii\base;
/**
* @author Qiang Xue <qiang.xue@gmail.com>
* @since 2.0
*/
class Response extends Component
{
12 years ago
const EVENT_BEGIN_RESPONSE = 'beginResponse';
const EVENT_END_RESPONSE = 'endResponse';
12 years ago
/**
* Starts output buffering
*/
public function beginOutput()
{
ob_start();
ob_implicit_flush(false);
}
12 years ago
/**
* Returns contents of the output buffer and discards it
* @return string output buffer contents
*/
public function endOutput()
{
return ob_get_clean();
}
12 years ago
/**
* Returns contents of the output buffer
* @return string output buffer contents
*/
public function getOutput()
{
return ob_get_contents();
}
12 years ago
/**
* Discards the output buffer
* @param boolean $all if true recursively discards all output buffers used
*/
public function cleanOutput($all = true)
{
if ($all) {
for ($level = ob_get_level(); $level > 0; --$level) {
if (!@ob_end_clean()) {
ob_clean();
}
}
} else {
ob_end_clean();
}
}
12 years ago
public function begin()
{
$this->trigger(self::EVENT_BEGIN_RESPONSE);
}
public function end()
{
$this->trigger(self::EVENT_END_RESPONSE);
}
}