toropyga/templates

Libraries for working with templates from Toropyga

v4.0.5 2023-06-28 12:38 UTC

This package is auto-updated.

Last update: 2025-06-28 16:50:18 UTC


README

Класс обработки шаблонов

License Version PHP

Описание и примеры использования PHP класса обработки шаблонов

Содержание

Общие сведения

Класс Templates предназначен для обработки и вывода на экран HTML шаблонов. Для работы необходимо наличие PHP версии 4 и выше.

Предполагаемая файловая структура стилей:

(ROOT_PATH)
|
| +-------------------------------+
|-| общая папка стилей (TMPL_DIR) |
| +-------------------------------+
|           |
|           | +----------------------------+
|           |-| папка стиля 1 (TMPL_STYLE) |
|           | +----------------------------+
|           |
|           | +----------------------------+
|           |-| папка стиля 2 (TMPL_STYLE) |
|             +----------------------------+
|
| +------------------------------+
|-| временные файлы (TMPL_CACHE) |
| +------------------------------+

Установка

Рекомендуемый способ установки библиотеки NetContent с использованием Composer:

composer require toropyga/templates

или просто скачайте и сохраните библиотеку в нужную директорию.

Предопределяемые константы

Перед началом работы можно предопределить константы:

ROOT_PATH - полный путь к корневой директории

TMPL_DIR - путь к директории (папке), относительно корневой директории, в которой расположены директории (папки) стилей (шаблонов)

TMPL_STYLE - имя директории (папки) в которой расположены шаблоны по умолчанию

TMPL_CACHE - путь к директории, относительно корневой директории, в которой будут сохраняться обработанные шаблоны

Шаблоны

Все шаблоны верстаются как обыкновенные html страницы.

В местах, где необходимо вставить значение переменной прописывается код следующего вида:

{$имя_переменной}, если необходимо выбрать значение из массива, то пишем - {$имя_массива['ключ_массива']} и т.д.,

если ключом массива является переменная - запись принимает вид {$имя_массива[$имя_переменной]}

Если из всего шаблона надо выделить только небольшой участок (блок), то этот участок обрамляется тегами комментария следующего вида:

<!-- tmplblock: begin -->
сам блок
<!-- tmplblock: end -->

Если в шаблон необходимо вставить php код, то он размешается в теге комментария следующего вида:

<!-- tmplphp: $a = 20; for ($i=1; $i <= $a; $i++) { -->
{$i}<br>
<!-- tmplphp: } -->

Если в шаблон необходимо подключить ещё один шаблон, то прописываем следующий код:

{tmplinclude: имя_подключаемого_файла}

Если включаем необрабатываемый кусок PHP кода то обрамляем его конструкцией вида:

##static_begin##
сам код
##static_end##

Например:

<!-- tmplphp: $a = 1; $b = 2;  echo sum($a, $b); ##static_begin## function sum($a, $b) { return ($a+$b); } ##static_end## -->

Вставка PHP-кода внутри тэга - tmpltag="# код #"

<input type="checkbox" id="remember" name="admin[remember]" tmpltag="#if ($remember) {#" checked tmpltag="#}#" value="1" class="non">

Вызов класса

Подключение файла класса

require_once("Templates.php");

или с использованием composer

require_once("vendor/autoload.php");

Инициируем класс обработки шаблонов

$TMPL = new FYN\Templates();

Устанавливаем стиль страницы

$TMPL->setStyle($style_folder);

Передаём шаблонам значения переменных

$TMPL->assign($template_data);
$TMPL->assign(array('page'=>$PAGE));

Вывод шаблона на экран

$TMPL->output($template_file);

Переменные

Имя переменной шаблона должно соответствовать ключу ассоциативного массива значение которого - это значение переменной в шаблоне.

Например.

Шаблон (hello.html):

Hello, {$user_name}!

PHP обработчик

$template_file = "hello.html";
$template_data = array("user_name" => "Alex");
$TMPL = new FYN\Templates();
$TMPL->assign($template_data);
$TMPL->output($template_file);

Результат:

Hello, Alex!