Chapter 16

Table of Contents

Архітектура версії 2.0 дозволяє впроваджувати плагіни, якими є практично всі параметри елементи функціонала Smarty. Сюди входять:

  • функції
  • модифікатори
  • блокові функції
  • функції компілятора
  • префільтри
  • Постфільтри
  • фільтри виведення
  • ресурси
  • вставки

За винятком ресурсів, з метою забезпечення сумісності з попередніми версіями, збережена можливість реєстрації функцій за допомогою register_ * API. Якщо ви не використовуєте API, а замість цього вносите властивості $ custom_funcs. $ Custom_mods і деякі інші безпосередньо, тоді вам доведеться підігнати ваші скрипти під використання API або перетворити додану вами функціональність в плагіни.

Як працюють плагіни

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

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

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