Шаблонизатор 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 (). В результате получается, что-то вроде пазлов, которые скрипт устанавливает в нужные места, а в браузере это уже выглядит, как шаблон с содержимым титлов, страниц, мета описаний и т. д. Вот собственно и все. Более подробно уяснить содержание данной статьи можно обратившись к ее первоисточнику...
Простое решение - php шаблонизатора для любого динамического сайта.