Table of Contents
Архітектура версії 2.0 дозволяє впроваджувати плагіни, якими є практично всі параметри елементи функціонала Smarty. Сюди входять:
- функції
- модифікатори
- блокові функції
- функції компілятора
- префільтри
- Постфільтри
- фільтри виведення
- ресурси
- вставки
За винятком ресурсів, з метою забезпечення сумісності з попередніми версіями, збережена можливість реєстрації функцій за допомогою register_ * API. Якщо ви не використовуєте API, а замість цього вносите властивості $ custom_funcs. $ Custom_mods і деякі інші безпосередньо, тоді вам доведеться підігнати ваші скрипти під використання API або перетворити додану вами функціональність в плагіни.
Як працюють плагіни
Модулі завантажуються тільки в разі потреби. Тільки ті модифікатори, функції, ресурси і т.д. які використовуються в шаблоні, будуть завантажені. До того ж, кожен плагін завантажується тільки один раз, навіть якщо у вас є кілька примірників Smarty, які працюють в межах одного запиту.
Пре / Постфільтри і фільтри виведення заслуговують на окрему згадку. Так як вони не згадуються в шаблонах, вони повинні бути зареєстровані і завантажені неявно через API-функції ще до обробки шаблону. Порядок виконання декількох фільтрів одного типу залежить від порядку, в якому вони реєструвалися або завантажувалися.
Директорія плагінів може бути рядком, що містить шлях, або масивом, що містить безліч шляхів. Щоб встановити плагін, просто помістіть його в одну з цих директорій і Smarty автоматично буде його використовувати.