Існує безліч варіантів побудовишаблонізаторомдля сайту на php.Але на мою думку найбільш оптимальний з них це варіант шаблонізатором, який виконує тільки роль перевалочного пункту для різних сторінок і скриптів сайту, які після випоненія в готовому вигляді вже виводяться в браузер останньою командою цього-ж шаблонізатором.
Нижче по тексту представлений один з варіантів такого шаблонізатором.Заздалегідь домовимося, що сам статичний шаблон у нас розбитий на частини, наприклад top.html, body.html, bottom.htm (хоча в принципі цього цілком можна і не робити) і в потрібних місцях його частин проставлені назви змінних ув’язнених в%%, які будуть змінювати свій вміст від сторінки до сторінки сайту.
<? Php
/ / Рядки необхідні для виконання будь-яких операцій за методами Get і Post
if (isset ($ _GET)) {foreach ($ _GET as $ key => $ val) {$ $ key = $ val;}}
if (isset ($ _POST)) {foreach ($ _POST as $ key => $ val) {$ $ key = $ val;}}
/ / Завантаження в змінні, у вигляді рядків, вмісту сторінок і меню
$ Title = Титул сторінки;
$ Meta = file_get_contents (тут шлях до html сторінці мета опису виведеної сторінки);
$ Text = file_get_contents (тут шлях до самої html сторінці);
$ Titlepage = Заголовок сторінки;
/ / Функція з переміщення та заміни рядків в частинах шаблону на вміст змінних
function repl ($ path)
{
/ / Визначення глобальних змінних
global $ title, $ meta, $ titlepage, $ text;
/ / Читання файлу у вигляді рядка в змінну $ temp
$ Temp = file_get_contents ($ path);
/ / Переміщення ділянок в рядку завантаженої в $ temp
$ Temp = str_replace (% title%, $ title, $ temp);
$ Temp = str_replace (% meta%, $ meta, $ temp);
$ Temp = str_replace (% titlepage%, $ titlepage, $ temp);
$ Temp = str_replace (% text%, $ text, $ temp);
/ / Вивід зміненої рядки міститься в змінної $ temp
echo ($ temp);
}
/ / Почерговий запуск в роботу функції repl для файлів top.html body.html bottom.html
repl (templates / top.html);
repl (templates / body.html);
repl (templates / bottom.html);
exit;
?>
Тепер кілька слів з даного php скрипту.Але перш, ніж прочитати короткий коментар до нього потрібно не забути відкрити будь-який довідник по php для того, щоб глибше усвідомити суть подальшого тексту.Працює скрипт гранично просто.Спочатку він завантажує за допомогою функціїfile_get_contents ()в змінні у вигляді рядків вміст титлом, сторінок, мета описів сайту.Потім починає працювати вже наша новоспечена функціяrepl (),яка послідовно виконує операції по завантаженню в змінну$ tempчастин нашого шаблону top.html, body.html, bottom.html, (все та ж функціяfile_get_contents ()в складі функціїrepl ()), а потім за допомогою функціїstr_replace ()переміщаєвмістзмінних в яких вже містяться сторінки, мета опису, на місця укладені в%% і все це потім виводить операторомecho ().В результаті виходить, щось на зразок пазлів, які скрипт встановлює в потрібні місця, а в браузері це вже виглядає, як шаблон з вмістом титлом, сторінок, мета описів і т. д. Ось власне і все.Більш докладно з даного питання в першоджерелі даної статті …