Скрипт шаблонізатором Php, Просте Рішення

Існує безліч варіантів побудовишаблонізаторомдля сайту на 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 ().В результаті виходить, щось на зразок пазлів, які скрипт встановлює в потрібні місця, а в браузері це вже виглядає, як шаблон з вмістом титлом, сторінок, мета описів і т. д. Ось власне і все.Більш докладно з даного питання в першоджерелі даної статті …