Вземете Smarty

За спонсорство, реклама, новини или други запитвания, свържете се с нас на:

Глава 1. Какво е Smarty?

Smarty е механизъм за компилиране на шаблони за PHP. По-ясно, той предоставя един от инструментите за постигане на разделяне на логиката на приложението и данните от представянето. Това е много удобно в ситуации, когато програмистът и дизайнерът на оформление са различни хора.

Да предположим например, че създавате страница, която показва вестникарска статия.

След това дизайнерът на шаблони редактира шаблоните и използва комбинация от HTML и маркери на шаблони, за да форматира представянето на тези променливи, съдържащи елементи като HTML таблици, цветове на фона, размери на шрифта, стилове, SVG и др.).

Един ден програмист иска да промени начина на съхранение на статията, тоест да направи промени в логиката на приложението. Тази промяна няма да доведе до промени в шаблоните. Съдържанието пак ще бъде предадено на шаблона по същия начин.

По същия начин, ако дизайнерът на оформление иска да преработи напълно шаблоните, това няма да изисква промени в логиката на приложението.

По този начин програмистът може да прави промени в приложената логика, без да се налага да променя шаблоните, а дизайнерът на шаблони може да прави промени в шаблоните, без да навреди на приложената логика.

Една от целите на Smarty е да отдели логиката на приложението от презентацията.

Разбира се, шаблоните могат да съдържат логика, но само ако тази логика е необходима за правилното представяне на данните. Задачи като включване в други модели, редуване на редове в таблица, преобразуване на букви в главни букви, циклиране през масив, за да се покаже и т.н. - всичко това са примери за презентационна логика.

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

Ако смятате, че в шаблона изобщо не трябва да има логика, можете да се ограничите до използването на чист текст и променливи.

Една от уникалните характеристики на Smarty е компилирането на шаблони. Това означава, че Smarty чете файловете с шаблони и генерира PHP код от тях. Кодът се създава веднъж и след това се изпълнява само. Следователно няма нужда от бавна обработка на файла на шаблона за всяка заявка. Всеки шаблон може да се възползва напълно от PHP компилаторите и кеширащите решения като eAccelerator, ionCube, mmCache, Zend Accelerator и други.

Някои функции на Smarty:

Той е ефективен, защото манипулаторът на PHP върши мръсната работа за него.

Без излишна обработка на шаблони, те се компилират само веднъж.

Прекомпилират се само шаблони, които са се променили.

Можете лесно да създадете свои собствени потребителски функции и модификатори на променливи, което прави езика за шаблони изключително разширяем.

Конструкциите ...... се предават на манипулатора на PHP, така че синтаксисът на израза може да бъде толкова прост или сложен, колкото искате.

Разрешено е неограничено влагане на секции, условия и т.н.

Възможно е да включите PHP код директно във вашия шаблон, но обикновено това не е необходимо (и не се препоръчва), тъй като двигателят е много гъвкав и разтегателен.