12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- <?php
- /**
- * @link http://www.yiiframework.com/
- * @copyright Copyright (c) 2008 Yii Software LLC
- * @license http://www.yiiframework.com/license/
- */
- namespace yii\widgets;
- use yii\base\Widget;
- /**
- * @author Qiang Xue <[email protected]>
- * @since 2.0
- */
- class Block extends Widget
- {
- /**
- * @var string the ID of this block.
- */
- public $id;
- /**
- * @var boolean whether to render the block content in place. Defaults to false,
- * meaning the captured block content will not be displayed.
- */
- public $renderInPlace = false;
- /**
- * Starts recording a block.
- */
- public function init()
- {
- ob_start();
- ob_implicit_flush(false);
- }
- /**
- * Ends recording a block.
- * This method stops output buffering and saves the rendering result as a named block in the controller.
- */
- public function run()
- {
- $block = ob_get_clean();
- if ($this->renderInPlace) {
- echo $block;
- }
- $this->view->blocks[$this->id] = $block;
- }
- }
|