protected function _step(array $step, array $params, array &$data, array &$options = []) {
		$step += ['path' => null, 'capture' => null];
		$_renderer = $this->_renderer;
		$_loader = $this->_loader;
		$filters = $this->outputFilters;
		$params = compact('step', 'params', 'options') + [
			'data' => $data + $filters,
			'loader' => $_loader,
			'renderer' => $_renderer
		];

		$result = Filters::run($this, __FUNCTION__, $params, function($params) {
			$template = $params['loader']->template($params['step']['path'], $params['params']);
			return $params['renderer']->render($template, $params['data'], $params['options']);
		});

		if (is_array($step['capture'])) {
			switch (key($step['capture'])) {
				case 'context':
					$options['context'][current($step['capture'])] = $result;
				break;
				case 'data':
					$data[current($step['capture'])] = $result;
				break;
			}
		}
		return $result;
	}
protected function _step(array $step, array $params, array &$data, array &$options = []) {
		$step += ['path' => null, 'capture' => null];
		$_renderer = $this->_renderer;
		$_loader = $this->_loader;
		$filters = $this->outputFilters;
		$params = compact('step', 'params', 'options') + [
			'data' => $data + $filters,
			'loader' => $_loader,
			'renderer' => $_renderer
		];

		$result = Filters::run($this, __FUNCTION__, $params, function($params) {
			$template = $params['loader']->template($params['step']['path'], $params['params']);
			return $params['renderer']->render($template, $params['data'], $params['options']);
		});

		if (is_array($step['capture'])) {
			switch (key($step['capture'])) {
				case 'context':
					$options['context'][current($step['capture'])] = $result;
				break;
				case 'data':
					$data[current($step['capture'])] = $result;
				break;
			}
		}
		return $result;
	}
protected function _step ( array $ step , array $ params , array & $ data , array & $ options = [ ] ) { $ step += [ 'path' => null , 'capture' => null ] ; $ _renderer = $ this -> _renderer ; $ _loader = $ this -> _loader ; $ filters = $ this -> outputFilters ; $ params = compact ( 'step' , 'params' , 'options' ) + [ 'data' => $ data + $ filters , 'loader' => $ _loader , 'renderer' => $ _renderer ] ; $ result = Filters :: run ( $ this , __FUNCTION__ , $ params , function ( $ params ) { $ template = $ params [ 'loader' ] -> template ( $ params [ 'step' ] [ 'path' ] , $ params [ 'params' ] ) ; return $ params [ 'renderer' ] -> render ( $ template , $ params [ 'data' ] , $ params [ 'options' ] ) ; } ) ; if ( is_array ( $ step [ 'capture' ] ) ) { switch ( key ( $ step [ 'capture' ] ) ) { case 'context' : $ options [ 'context' ] [ current ( $ step [ 'capture' ] ) ] = $ result ; break ; case 'data' : $ data [ current ( $ step [ 'capture' ] ) ] = $ result ; break ; } } return $ result ; }
Performs a rendering step.

@see lithium\template\view\adapter\File::template()
@see lithium\template\view\Renderer::render()
@see lithium\template\view\adapter\File::render()
@param array $step The array defining the step configuration to render.
@param array $params An associative array of string values used in the template lookup
process. See the `$params` argument of `File::template()`.
@param array $data associative array for template data.
@param array $options An associative array of options to pass to the renderer. See the
`$options` parameter of `Renderer::render()` or `File::render()`.
@return string
@filter
Performs a rendering step .