Робота з шаблонами, php

1. Опис класу.

1.1. Створення об'єкта.

При створенні нового екземпляра класу потрібно вказати директорію, де зберігаються файли-шаблони. Можна вказувати як відносний шлях, так і абсолютний. Розширення цих файлів має бути .tpl.

1.2. Шаблони.

Перед тим, як використовувати шаблони за призначенням, їх спочатку необхідно завантажити (в пам'ять). Якщо потрібно вказати відразу декілька шаблонів, то тут використовується кома. Для того, щоб перевірити, завантажений чи шаблон, використовується функція isLoaded ($ name). Для видалення шаблону (з пам'яті!) - unload ($ name). Де $ name - ім'я шаблону.

Примітка: в новішій версії, довантажувати шаблони при старті скрипта необов'язково, тому що ф-я get перевіряє завантажений шаблон, якщо немає, то завантажує. Це, на мій погляд, краще, тому що завантаження зайвих шаблонів при старті скрипта, знижує його швидкість.

1.3. Отримання вмісту шаблону.

Для його отримання використовується функція get ($ name), де $ name - ім'я шаблону (без вказівки розширення, тобто без .tpl).

2. Приклади.

2.1. Простий текст. Функції.

У браузері в обох випадках з'явиться:

2.2. Використання змінних.

2.3. Таблиці. Висновок результатів.

Результат буде таким:

2.4. Застосування буферизації.

Уявляєте, якщо вже є великі ділянки коду (php / html), де йде прямий висновок в бразуер, тобто такі функції, як print / printf / echo. Чи не переписувати ж, наприклад, цілий скрипт. Є рішення - використання буферизації, тобто перехоплення вихідного потоку. приклад:

3. Додатки.

a) Розширення для шаблонів. Змініть в класі змінну $ m_extension, за замовчуванням вона дорівнює tpl
b) Win32 / * nix. Якщо Ви використовуєте операційну систему сімейства * nix (Linux, Unix.), То значення змінної $ m_win32 має дорівнювати false. Якщо сімейства win32 (windows 9x і т.д.), то true.
c) Обробка помилок. Якщо виникла помилка при завантаженні шаблону, то можливі два варіанти - 1) продовжити роботу скрипта 2) негайно зупинити. У 1-му випадку змінна $ m_die повинні бути встановлена ​​в true. Так, і ще є можливість налаштування виводу повідомлень про помилки на екран $ m_showErrors (також тип boolean)

Схожі статті