Документація шаблонизатора Smarty y

Web-технології: База знань

Документація Smarty

Розділ 1. Що таке Smarty?

Smarty – це компілюючий обробник шаблонів для PHP. Говорячи чіткіше, він надає один із інструментів, які дозволяє домогтися відділення прикладної логіки та даних від уявлення. Це дуже зручно в ситуаціях, коли програміст і верстальник шаблону – різні люди.

Наприклад, скажімо, ви створюєте сторінку, яка показує газетну статтю.

Потім верстальник шаблону редагує шаблони та використовує комбінацію тегів HTML та тегів шаблону, щоб відформатувати представлення цих змінних, що містять елементи типу таблиць HTML, фонових кольорів, розмірів шрифту, стилів, SVG і т.д.).

Якось програміст захоче змінити спосіб зберігання статті, тобто внести зміни до логіки програми. Ця зміна не викликає змін у шаблонах. Зміст все ще передаватиметься в шаблон таким же способом.

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

Таким чином, програміст може вносити зміни до прикладної логіки без необхідності зміни шаблонів, а дизайнер шаблонів може вносити зміни до шаблонів без шкоди прикладної логіки.

Одне з призначень Smarty – це відокремлення логіки програми від уявлення.

Звичайно ж, шаблони можуть містити в собі логіку, але за умови, що ця логіка необхідна для правильного представлення даних. Такі завдання, як підключення інших шаблонів, забарвлення рядків, що чергується в таблиці, приведення букв до верхнього регістру, циклічний прохід по масиву для його відображення і т.д. - Все це приклади логіки уявлення.

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

Якщо ж ви вважаєте, що у шаблоні взагалі не повинно бути логіки, ви можете обмежитися використанням чистого тексту та змінних.

Одна з унікальних можливостей Smarty – компілювання шаблонів. Це означає, що Smarty читає файли шаблонів та створює PHP-код на їх основі. Код створюється один раз і потім лише виконується. Тому немає потреби у повільній обробці файл шаблону для кожного запиту. Кожен шаблон може користуватися всіма перевагами таких компіляторів PHP та кешируючих рішень, як eAccelerator, ionCube, mmCache, Zend Accelerator та інших.

Деякі особливості Smarty:

Він ефективний, тому що обробник PHP робить за нього брудну роботу.

Жодної зайвої обробки шаблонів, вони компілюються лише один раз.

Перекомпілюються лише ті шаблони, які змінилися.

Ви можете легко створювати власні функції користувача та модифікатори змінних, що робить мову шаблонів надзвичайно розширюваною.

Конструкції ...... передаються обробнику PHP, так що синтаксис виразу може бути настільки простим або складним, як вам завгодно.

Допустимо необмежену вкладення секцій, умов тощо.

Існує можливість включення PHP-коду прямо до вашого шаблону, проте зазвичай в цьому немає необхідності (і це не рекомендується), так як двигун дуже гнучкий і розширюємо.