original_string: private function _runModuleController($page_module){
  		// execute module controller
  		$view = (new $page_module['class'])->run($this->_dom);
  
  		// set the handle variable according to this module's controller return value
  		if(is_resource($view) && get_resource_type($view) == 'stream'){
  			return [
  				'handle' => $view,
  				'type' => 'stream',
  			];
  		}
  
  		if(is_object($view) && is_subclass_of($view, '\Morrow\Views\AbstractView')){
  			$view->init($page_module['class']);
  			return [
  				'handle' => $view->getOutput(),
  				'type' => 'html',
  			];
  		}
  
  		if(is_string($view)){
  			$handle = fopen('php://temp/maxmemory:'.(1*1024*1024), 'r+'); // 1MB
  			fwrite($handle, $view);
  			return [
  				'handle' => $handle,
  				'type' => 'string',
  			];
  		}
  
  		if(is_null($view)){
  			return [
  				'handle' => null,
  				'type' => null,
  			];
  		}
  
  		if(!isset($handle)){
  			throw new \Exception(__CLASS__.': The return value of a controller has to be of type "stream", "string" or a child of \Morrow\Views\AbstractView.');
  		}
  	}
code: private function _runModuleController($page_module){
  		// execute module controller
  		$view = (new $page_module['class'])->run($this->_dom);
  
  		// set the handle variable according to this module's controller return value
  		if(is_resource($view) && get_resource_type($view) == 'stream'){
  			return [
  				'handle' => $view,
  				'type' => 'stream',
  			];
  		}
  
  		if(is_object($view) && is_subclass_of($view, '\Morrow\Views\AbstractView')){
  			$view->init($page_module['class']);
  			return [
  				'handle' => $view->getOutput(),
  				'type' => 'html',
  			];
  		}
  
  		if(is_string($view)){
  			$handle = fopen('php://temp/maxmemory:'.(1*1024*1024), 'r+'); // 1MB
  			fwrite($handle, $view);
  			return [
  				'handle' => $handle,
  				'type' => 'string',
  			];
  		}
  
  		if(is_null($view)){
  			return [
  				'handle' => null,
  				'type' => null,
  			];
  		}
  
  		if(!isset($handle)){
  			throw new \Exception(__CLASS__.': The return value of a controller has to be of type "stream", "string" or a child of \Morrow\Views\AbstractView.');
  		}
  	}
code_tokens: private function _runModuleController ( $ page_module ) { // execute module controller $ view = ( new $ page_module [ 'class' ] ) -> run ( $ this -> _dom ) ; // set the handle variable according to this module's controller return value if ( is_resource ( $ view ) && get_resource_type ( $ view ) == 'stream' ) { return [ 'handle' => $ view , 'type' => 'stream' , ] ; } if ( is_object ( $ view ) && is_subclass_of ( $ view , '\Morrow\Views\AbstractView' ) ) { $ view -> init ( $ page_module [ 'class' ] ) ; return [ 'handle' => $ view -> getOutput ( ) , 'type' => 'html' , ] ; } if ( is_string ( $ view ) ) { $ handle = fopen ( 'php://temp/maxmemory:' . ( 1 * 1024 * 1024 ) , 'r+' ) ; // 1MB fwrite ( $ handle , $ view ) ; return [ 'handle' => $ handle , 'type' => 'string' , ] ; } if ( is_null ( $ view ) ) { return [ 'handle' => null , 'type' => null , ] ; } if ( ! isset ( $ handle ) ) { throw new \ Exception ( __CLASS__ . ': The return value of a controller has to be of type "stream", "string" or a child of \Morrow\Views\AbstractView.' ) ; } }
docstring: Execute any module.
  @param	array	$page_module	the module config array:
  [
  'action'   => 'append'|'replace'|'prepend', (optional)
  'class'    => '\\app\\modules\\Foo\\Bar',
  'config'   => ['anyConfigKey' => 'anyConfigValue'], (optional)
  'selector' => '#anyCssSelector', (optional)
  ]
  @return 	stream	$handle			handle of executed module data
docstring_tokens: Execute any module .