public function renderFile($context, $sourceFile, $params, $isReturn) { $templatePath = $this->resolveTemplatePath($sourceFile); $viewId = $this->generateViewId($templatePath); $view = new View($viewId, $context); $view->setTemplatePath($templatePath); $view->setParams($params); $isContextWidget = $this->isContextWidget($context) && $context->setView($view); $isAjaxRequest = !$isContextWidget && $this->isAjaxRequest(); $responseParams = array(); foreach ($this->getViewProcessorsClasses() as $viewProcessorClass) { /** @var \PetrGrishin\View\ViewProcessor\BaseViewProcessor $viewProcessor */ $viewProcessor = new $viewProcessorClass($view); $viewProcessor->setIsAjaxMode($isAjaxRequest); $viewProcessor->processView(); $responseParams = array_merge($responseParams, $viewProcessor->getParams()); } if ($isReturn) { return $this->renderResponse($responseParams, $isAjaxRequest); } echo $this->renderResponse($responseParams, $isAjaxRequest); }