original_string: public function start($name, $mode = ViewBlock::OVERRIDE)
      {
          if (array_key_exists($name, $this->_active)) {
              throw new Exception(sprintf("A view block with the name '%s' is already/still open.", $name));
          }
          $this->_active[$name] = $mode;
          ob_start();
      }
code: public function start($name, $mode = ViewBlock::OVERRIDE)
      {
          if (array_key_exists($name, $this->_active)) {
              throw new Exception(sprintf("A view block with the name '%s' is already/still open.", $name));
          }
          $this->_active[$name] = $mode;
          ob_start();
      }
code_tokens: public function start ( $ name , $ mode = ViewBlock :: OVERRIDE ) { if ( array_key_exists ( $ name , $ this -> _active ) ) { throw new Exception ( sprintf ( "A view block with the name '%s' is already/still open." , $ name ) ) ; } $ this -> _active [ $ name ] = $ mode ; ob_start ( ) ; }
docstring: Start capturing output for a 'block'
  
  Blocks allow you to create slots or blocks of dynamic content in the layout.
  view files can implement some or all of a layout's slots.
  
  You can end capturing blocks using View::end(). Blocks can be output
  using View::get();
  
  @param string $name The name of the block to capture for.
  @param string $mode If ViewBlock::OVERRIDE existing content will be overridden by new content.
  If ViewBlock::APPEND content will be appended to existing content.
  If ViewBlock::PREPEND it will be prepended.
  @throws \Cake\Core\Exception\Exception When starting a block twice
  @return void
docstring_tokens: Start capturing output for a block