template = $template; $this->model = $model; } /** * @param TemplateInserterFactory $inserterFactory */ public function render(TemplateInserterFactory $inserterFactory) { $viewModelData = $this->model->getData(); $inserter = $inserterFactory->getInserter($this->template,$viewModelData); if(!isset($inserter)) {throw new \InvalidArgumentException('Template is not of allowed type. Allowed types are default, string, or DOM.');} $inserter->insertData(); $this->renderedContent = $this->template->getRenderedContent(); $this->isRendered = true; } /** * @return string */ public function getContent() { return $this->renderedContent; } public function echoContent() { echo $this->renderedContent; } /** * @return bool */ public function isRendered() { return $this->isRendered; } }