Prado\Web\UI\TTemplateManager::getTemplateByFileName PHP Метод

getTemplateByFileName() публичный Метод

Loads the template from the specified file.
public getTemplateByFileName ( $fileName ) : Prado\Web\UI\ITemplate
Результат Prado\Web\UI\ITemplate template parsed from the specified file, null if the file doesn't exist.
    public function getTemplateByFileName($fileName)
    {
        if (($fileName = $this->getLocalizedTemplate($fileName)) !== null) {
            Prado::trace("Loading template {$fileName}", '\\Prado\\Web\\UI\\TTemplateManager');
            if (($cache = $this->getApplication()->getCache()) === null) {
                return new TTemplate(file_get_contents($fileName), dirname($fileName), $fileName);
            } else {
                $array = $cache->get(self::TEMPLATE_CACHE_PREFIX . $fileName);
                if (is_array($array)) {
                    list($template, $timestamps) = $array;
                    if ($this->getApplication()->getMode() === TApplicationMode::Performance) {
                        return $template;
                    }
                    $cacheValid = true;
                    foreach ($timestamps as $tplFile => $timestamp) {
                        if (!is_file($tplFile) || filemtime($tplFile) > $timestamp) {
                            $cacheValid = false;
                            break;
                        }
                    }
                    if ($cacheValid) {
                        return $template;
                    }
                }
                $template = new TTemplate(file_get_contents($fileName), dirname($fileName), $fileName);
                $includedFiles = $template->getIncludedFiles();
                $timestamps = array();
                $timestamps[$fileName] = filemtime($fileName);
                foreach ($includedFiles as $includedFile) {
                    $timestamps[$includedFile] = filemtime($includedFile);
                }
                $cache->set(self::TEMPLATE_CACHE_PREFIX . $fileName, array($template, $timestamps));
                return $template;
            }
        } else {
            return null;
        }
    }