Шаблонизатор - основной скрипт сайта на php
Напишем один из основных php скриптов сайта шаблонизатор, которому определено уже место и название в нашем проекте D://Mysitephp/php/main.php. Но прежде напишем php скрипт файла index.php, который будет находиться в корне сайта и перенаправлять его загрузку, в частности его главной страницы на main.php.
Файл скрипта index.php будет состоять всего лишь из трех строк.
include "php/main.php";
?>
Как работает этот php скрипт? Достаточно просто. При попадании пользователя на главную страницу сайта index.php будет подключен скрипт шаблонизатора, тоесть main.php, который находится в папке php.
Не будем останавливаться на операторе include. Об этом можно почитать в справочнике по php, о котором шла речь ранее. А для информации: Оператор include() подключает и вычисляет специфицированный файл. Когда файл подключён/included, содержащийся в нём код наследует область видимости переменной строки, на которой возникло подключение. Любые переменные, доступные на этой строке в вызывающем файле, будут доступны в вызываемом файле, вперёд от этой точки. Простыми словами оператор include подключает в работу скрипт прописанный в файле путь к которому заключен в "..." и находится в строке сразу после самого слова include, тоесть в нашем случае main.php.
Ну, а сам main.php будет посложнее:
<?php
// Строка для уменьшения уровня предупреждений сервера Denwer
Error_Reporting(E_ALL & ~E_NOTICE);
// строки необходимые для выполнения любых операций по методам 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 ("templates/pages/meta/rub1_part1_meta.html");
$text = file_get_contents ("templates/pages/rub1_part1.html");
$titlepage = "Заголовок страницы";
$rubric1 = "Меню рубрики 1";
$rubric2 = "Меню рубрики 2";
$rubric3 = "Меню рубрики 3";
// функция по перемещению и замене строк в частях шаблона на содержимое переменных
function repl ($path)
{
// определение глобальных переменных
global $title,$meta,$titlepage,$text,$rubric1,$rubric2,$rubric3;
// чтение файла в виде строки в переменную $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 = str_replace ( "%rubric1%", $rubric1, $temp );
$temp = str_replace ( "%rubric2%", $rubric2, $temp );
$temp = str_replace ( "%rubric3%", $rubric3, $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 (). В результате получается, что-то вроде пазлов, которые скрипт устанавливает в нужные места, а в браузере это уже выглядит, как шаблон с содержимым титлов, страниц, мета описаний, меню и т. д. Для того, чтобы в комплексе проверить работу скрипта, необходимо запустить сервер Denwer, который кстати уже давно должен быть запущен, на всякий случай выполнить операцию синхронизации проекта сайта и набрать в браузере http://mysitephp.ru. Результат не заставит себя ожидать. Появится индексная страница шаблона, а теперь можно сказать уже даже будущего сайта на php с титулом, мета описанием, заголовком и текстом самой страницы, который прописан в файле templates/pages/rub1_part1.html. Для уверенности можно скачать обновленный проект со скриптами и сравнить с тем, что получилось в результате выше описанных действий. Затем, чтобы исключить разночтения в процессе построения сайта на php, заменить проект на скачанный с обязательным выполнением операции синхронизации.
Электроника :
- Техника электроника (11)
- Полезная электроника (4)
- Электроника для всех (5)
- Техника для дома (6)
- Cхемотехника ПЛИС (11)
- Пректирование PCAD (4)
Программирование :
- Микроконтроллеры (9)
- ПЛИС VHDL Verilog (29)
- C++ Builder (7)
- Visual Studio C++ C# (7)
- Java programming (7)
- Matlab programming (4)
Сайтостроение :
- Сайтостроение HTML (5)
- Сайтостроение PHP (8)
- Проект php сайта
- Шаблон php сайта
- Скрипты php сайта
- Заморочки php сайта
- Php сайт развитие
- Дополнения php сайта
- Админпанель сайта
- Php сайт продолжение
- PHP CMS на файлах (3)
- Web инструменты (9)
- Полезное вебмастеру (11)
- SEO раскрутка сайта (4)
- PHP скрипты (3)
Реклама :
Книги и учебники :
- Шаблоны сайтов (6)
- Книги и учебники (2)
Компьютер и интернет :
Поиск по сайту :
Реклама :
Облако меток :
Бесплатная подписка :
Статистика :
- Популярность (3)
- Посещаемость (3)
- Поисковые запросы (3)