Так склалося історично, то 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,62045,91214,207

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

Mustache

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

Посилання на джерело Mustache в GitHub: https://github.com/janl/mustache.js/

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

ПередплатниківЗірокФорки
42512,4392,230

Як вже зазначалося вище шаблони Mustache містити логіку не можуть, з цієї причини, логіку, пов’язану з поданням, доводиться реалізовувати на стороні backend-а. У вигляді невеликих його можливостей потреби у великій і докладної документації немає. З усього цього випливає досить пристойна швидкість його роботи.

Smarty

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

Посилання на джерело Smarty на GitHub: https://github.com/smarty-php/smarty

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

ПередплатниківЗірокФорки
1891,387452

Документація у Smarty досить рясна, і добре структурована, так само це стосується і самого функціоналу, він досить великий і є можливості його розширення. Що стосується синтаксису, то він досить простий для сприйняття, що робить його привабливим серед розробників.

Twig

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

Посилання на джерело Twig на GitHub: https://github.com/twigphp/Twig

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

ПередплатниківЗірокФорки
2595,365998

Що стосується twig то тут досить великий набір функцій, фільтрів, тестів і розширюваних макросів. Відомо, що Twig використовується в Drupal 8, досить ізобільна документація, так само ведеться активна розробка на GitHub.

Volt

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

Посилання на джерело Volt на GitHub: https://github.com/phalcon/cphalcon

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

ПередплатниківЗірокФорки
7559,1821,703

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

Додав: htmaker, 25.09.2018 р.
(1 голосів, середній: 1,00 із 5)

Завантаження…

Діліться з друзями:

См. також:


Вічний хостинг від Eternalhost
Рубрика: Проектування сайту

Що таке UX/UI простими словами
Рубрика: Проектування сайту

Що таке Highload, про який так часто ведуться бесіди
Рубрика: Проектування сайту

Робимо шаблон сайту (шпаргалка)
Рубрика: Проектування сайту

Вибір тематики сайту
Рубрика: SEO, Проектування сайту

Файл humans.txt
Рубрика: Проектування сайту

Проектування сайту, про те, навіщо це потрібно
Рубрика: Проектування сайту

Проектування макетів в Balsamiq Mockups
Рубрика: Інструменти, Проектування сайту

Концепція «єдиної точки входу»
Рубрика: Apache, Проектування сайту