Skip to content

Легковесный шаблонизатор для PHP

License

Notifications You must be signed in to change notification settings

iassasin/phplate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Phplate

PHP Version Build Status Coverage Status

Phplate - это легковесный и функциональный препроцессор шаблонов, написанный на php и не требующий никаких зависимостей.

Быстрый старт

Чтобы начать использовать phplate, нужно установить его, как composer-пакет (либо вручную сделать require_once для всех файлов из каталога src/), после чего создать свой php-файл с настройками, например:

require_once 'vendor/autoload.php';
use Iassasin\Phplate\Template;

// Настройка пути к каталогу с шаблонами
Template::init($_SERVER['DOCUMENT_ROOT'].'/resources/templates/');

Полный список настроек вы можете найти в документации.

Используя статический метод Template::build, производится подстановка аргументов шаблона в шаблон. Результатом является строка, которую можно отдать клиенту.
Аргументы передаются шаблону с помощью массива любого уровня вложенности.

Конечно же, возможности phplate не ограничиваются только подстановкой переменных в указанные места, но также есть возможность условного вывода (if), написания циклов (for), вычисления выражений перед выводом (в частности, препроцессинг параметров с помощью пайп-функций), вынос повторяющегося кода в виджеты и другие возможности.

Пример использования

Допустим, файлы шаблонов хранятся в каталоге %site_root%/resources/templates/, а phplate сконфигурирован, как в примере выше.
Шаблон, файл %site_root%/resources/templates/order.html:

Здравствуйте, {{name}}!
Ваш заказ №{{order.id}} поступил в пункт выдачи по адресу {{order.address}}.

Использование шаблона, файл %site_root%/index.php:

require_once 'phplate_config.php'; // созданный нами выше файл конфига

echo Template::build('order', [
	'name' => 'Петя',
	'order' => [
		'id' => 489,
		'address' => 'ул. Шаблонная, д.1, кв. 1',
	],
]);

В результате, когда произойдет переход на главную страницу сайта, пользователь увидит:

Здравствуйте, Петя!
Ваш заказ №489 поступил в пункт выдачи по адресу ул. Шаблонная, д.1, кв. 1.