О web-разработке
и даже немного больше...

Подборка популярных шаблонизаторов PHP

Так сложилось исторически, то PHP на первых порах своего существования выполнял роль языка-шаблонизатора. Иногда в дискуссиях в вопросе «лучшего шаблонизатора» можно заметить незатейливый ответ «сам PHP». По всей видимости устоялось такое мнение с тех времён и по сей день, однако данный язык развивался значительным образом и перерос в нечто глобально большее. По этой причине сама концепция в виду сложности современных проектов перетерпела значительные изменения. Масштабные решения как правило разрабатываются и сопровождаются целой группой людей, по этой причине для оптимизации взаимодействия между специалистами разного плана очевидно была придумана данная концепция.

По сегодняшним нормам стало важно разделять логику и представление, это в свою очередь становится эффективным для сотрудничества backend-разработчиков, а также frontend-а. Благодаря этому разделению frontend-разработчики (или по-другому верстальщики), используя синтаксис принятого шаблонизатора могут редактировать внешний вид web-приложения, не внося тем самым коррективы в глобальную логику приложения. В итоге совместная работа складывается таким образом, что backend-разработчик подготавливает переменные для вывода, frontend-разработчик делает вывод их в шаблоне добавляя их в нужных местах HTML-разметки.

На сегодняшний день существуют множество разновидностей шаблонизаторов, которые написаны на PHP, какой из них использовать уже решать вам. Приведу список наиболее известных на мой взгляд, те что активно поддерживаются сообществом PHP, и признаны в широких кругах разработчиков.

Blade

Первые дни существования данного шаблонизатора приходятся на 2011 г., данный шаблонизатор используется в PHP-фреймворке Lavarel, которые с каждым днём всё больше набирает свою популярность. Бытует мнение что из-за небольшого списка регулярных выражений для замены, данный шаблонизатор обладает приличной скоростью работы.

Ссылка на исходники Laravel в GitHub: https://github.com/laravel/laravel

Статистика laravel на GitHub:

Подписчиков Звёзд Форки
4,620 45,912 14,207

 

Официальная документация Blade изложена в виде обзоров, более подробная информация о работе с данным шаблонизатором находится на сторонних ресурсах. Имеет довольно простой синтаксис, разрешает использование PHP внутри шаблонов, а также есть поддержка наследования шаблонов, секций, и безопасный ввод содержимого.

Mustache

Данный шаблонизатор доступен для неограниченного количества языков, PHP не стал исключением. Отличительной чертой его так же является минимум логики для работы, это замена, цикл foreach, проверка на null.

Ссылка на исходники Mustache в GitHub: https://github.com/janl/mustache.js/

Статистика Mustache на GitHub:

Подписчиков Звёзд Форки
425 12,439 2,230

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

Smarty

Не смотря на то что данный шаблонизатор существует уже довольно давно (~от начала 2000 г), он не теряет свою популярность среди разработчиков. Проект продолжает развиваться и поддерживается разработчиками.

Ссылка на исходники Smarty на GitHub: https://github.com/smarty-php/smarty

Статистика Smarty на GitHub:

Подписчиков Звёзд Форки
189 1,387 452

 

Документация у Smarty довольно изобильна, и хорошо структурирована, так же это касается и самого функционала, он довольно большой и есть возможности его расширения. Что касается синтаксиса, то он довольно прост для восприятия, что так же делает его привлекательным среди разработчиков.

Twig

Универсальный шаблонизатор и может быть внедрён практически в любой проект, вне зависимости от фреймворка. В своё время был внедрён в фреймворк Symfony в систему представлений, благодаря чему обрёл свою популярность.

Ссылка на исходники Twig на GitHub: https://github.com/twigphp/Twig

Статистика Twig на GitHub:

Подписчиков Звёзд Форки
259 5,365 998

Что касается twig то здесь довольно большой набор функций, фильтров, тестов и расширяемых макросов. Известно, что Twig используется в Drupal 8, довольно изобильная документация, так же ведётся активная разработка на GitHub.

Volt

Этот шаблонизатор используется в фреймворке Phalcon, который в свою очередь написан на C, и распространяется в виде PHP-расширения. Всё это накладывает ограничение на использование данного шаблонизатора на других фреймворках. Однако, как показывает практика популярности данному шаблонизатору так же предостаточно.

Ссылка на исходники Volt на GitHub: https://github.com/phalcon/cphalcon

Статистика Phalcon на GitHub:

Подписчиков Звёзд Форки
755 9,182 1,703

 

Привлекательной особенностью является высокая производительность фреймворка, т.к. он написан на C, а также имеет вдвое большую производительность при включении механизма кэширования. Volt как и в предыдущем шаблонизаторе имеет достаточно богатый функционал для собственных фильтров, макросов, и расширений движка. Хорошо организованная документация, ведется активная разработка как Volt так и Phalcon в целом на GitHub.

Опубликован: 25.09.2018 г.

См. также:

Профессия: Менеджер проектов
Что такое Unit тесты?
Что такое Scrum и Agile?
Что такое «Реактивное программирование»?
Вечный хостинг от Eternalhost
Что такое UX/UI простыми словами
Что такое Highload, о котором так часто ведутся беседы
Делаем шаблон сайта (шпаргалка)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта