Response.php 1.02 KB
Newer Older
Qiang Xue committed
1 2 3
<?php
/**
 * @link http://www.yiiframework.com/
Qiang Xue committed
4
 * @copyright Copyright (c) 2008 Yii Software LLC
Qiang Xue committed
5 6 7 8 9 10 11 12 13
 * @license http://www.yiiframework.com/license/
 */

namespace yii\base;

/**
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @since 2.0
 */
14
class Response extends Component
Qiang Xue committed
15
{
Alexander Makarov committed
16 17 18
	/**
	 * Starts output buffering
	 */
Qiang Xue committed
19 20 21 22 23 24
	public function beginOutput()
	{
		ob_start();
		ob_implicit_flush(false);
	}

Alexander Makarov committed
25 26 27 28
	/**
	 * Returns contents of the output buffer and discards it
	 * @return string output buffer contents
	 */
Qiang Xue committed
29 30 31 32 33
	public function endOutput()
	{
		return ob_get_clean();
	}

Alexander Makarov committed
34 35 36 37
	/**
	 * Returns contents of the output buffer
	 * @return string output buffer contents
	 */
Qiang Xue committed
38 39 40 41 42
	public function getOutput()
	{
		return ob_get_contents();
	}

Alexander Makarov committed
43 44 45 46
	/**
	 * Discards the output buffer
	 * @param boolean $all if true recursively discards all output buffers used
	 */
47
	public function cleanOutput($all = true)
Qiang Xue committed
48 49 50 51 52 53 54 55 56 57 58
	{
		if ($all) {
			for ($level = ob_get_level(); $level > 0; --$level) {
				if (!@ob_end_clean()) {
					ob_clean();
				}
			}
		} else {
			ob_end_clean();
		}
	}
Qiang Xue committed
59
}