Так склалося історично, то 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.
Додав: htmaker, 25.09.2018 р.
(1 голосів, середній: 1,00 із 5)
Завантаження…
Діліться з друзями:
См. також:
Вічний хостинг від Eternalhost
Рубрика: Проектування сайту
Що таке UX/UI простими словами
Рубрика: Проектування сайту
Що таке Highload, про який так часто ведуться бесіди
Рубрика: Проектування сайту
Робимо шаблон сайту (шпаргалка)
Рубрика: Проектування сайту
Вибір тематики сайту
Рубрика: SEO, Проектування сайту
Файл humans.txt
Рубрика: Проектування сайту
Проектування сайту, про те, навіщо це потрібно
Рубрика: Проектування сайту
Проектування макетів в Balsamiq Mockups
Рубрика: Інструменти, Проектування сайту
Концепція «єдиної точки входу»
Рубрика: Apache, Проектування сайту