В этой статье я опишу один из способов создания простейшего сайта с использованием скриптового языка программирования ПХП. В чём же преимущество этого способа перед обыкновенным созданием статических ХТМЛ страниц ? А вот в чём :
ХТМЛ В ХТМЛ страницах есть много элементов, которые одинаковы на всех страницах. Например "шапка"(хедер) и низ(футер), а также пункты меню и т.д. Поэтому при увеличении количества статических ХТМЛ страниц, соответственно в каждой из них нужно копировать повторяющиеся элементы, что затрудняет и увеличивает расход времени на внесение изменений в какой-нибудь из повторяющихся элементов, потому что эти изменения надо вносить во все имеющиеся статические страницы.
ПХП В ПХП для этого можно просто отделить все повторяющиеся элементы дизайна в отдельные файлы, что существенно облегчает редактирование и внесение изменений, ведь придётся отредактировать нужный элемент дизайна всего один раз!
Для начала, сделаем простенький ХТМЛ код для того, чтобы продемонстрировать то что описано выше. index.html
< html >
< head >
< meta http-equiv="Content type" content="text/html; charset=windows-1251" >
< title >::: PHP Site :::< /title >
< /head >
< body topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0" bgcolor="#EFEFEF" >
< table width="100%" border="0" cellpadding="2" cellspacing="2" >
< tr > < td width="100%" align="center" colspan="2" >LOGO + BANNER< /td > < /tr >
< tr >
< td width="40%" align="center" valign="top" >MENU < /td >
< td width="60%" align="center" valign="top"'DATA'/td >
< /tr >
< tr > < td width="100%" align="center" valign="middle" colspan="2" >FOOTER< /td > < /tr >
< /table >
< /body >
< /html >
А теперь отделим редко изменяющиеся части дизайна в отдельные ПХП файлы : так как часть шапка в нашем случае не изменяется, то и вынесем её в отдельный файл также. shapka.php
< html >
< head >
< meta http-equiv="Content type" content="text/html; charset=windows-1251" >
< title >::: PHP Site :::< /title >
< /head >
< body topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0" bgcolor="#EFEFEF" >
header.php
< ?php
print "LOGO + BANNER";
?>
menu.php
< ?php
print "MENU";
?>
data.php
< ?php
print "DATA";
?>
footer.php
< ?php
print "FOOTER";
?>
Далее, соответственно переименуем наш index.html в index.php и перепишем так :
< ?php require_once("shapka.php"); ?>
< table width="100%" border="0" cellpadding="2" cellspacing="2" >
< tr > < td width="100%" align="center" colspan="2" >< ?php require_once("header.php"); ?>< /td > < /tr >
< tr >
< td width="40%" align="center" valign="top" >< ?php require_once("menu.php"); ?>< /td >
< td width="60%" align="center" valign="top" >< ?php require_once("data.php"); ?>< /td >
< /tr >
< tr > < td width="100%" align="center" valign="middle" colspan="2" >< ?php require_once("footer.php"); ?> < /td > < /tr >
< /table >
< /body >
< /html >
В итоге получаем то что и требовалось. Если надо изменить какой то пункт меню, то изменяем его ОДИН раз в файле menu.php, соответственно то же самое и с другими файлами.
Так в чём же всётаки динамичность ? А вот в чём : теперь, если нам нужно выводить в части DATA различную информацию, то нам не надо заново создавать новый файл с полностью тем же дизайном что и был. Теперь нас волнует только изменяющаяся часть. Для этого сделаем простенький "движок", который и даст нам "динамичность".
Отредактируем файл menu.php, и добавим туда несколько пунктов меню : menu.php
< table width="100%" border="0" cellpadding="2" cellspacing="2" >
< tr >
< td width="100%" bgcolor="#FFFFFF" >
< a href="index.php?action=about" >О Нас< /a >
< /td >
< /tr >
< tr >
< td width="100%" bgcolor="#FFFFFF" >
< a href="index.php?action=contacts" >Контакты< /a >
< /td >
< /tr >
< /table >
Поясню запись : index.php?action=contacts . Сдесь, action и будет нашей переменной, по значению которой мы и будем определять какие данные выводить в раздел DATA
Теперь соответственно перепишем файл data.php так, чтобы по нажатию на нужный пункт меню выводились нужные данные : data.php
< ?php
switch($_GET['action']) { //получаем значение переменной action
case "about" :
require_once("about.php"); // выводим данные О Нас
break;
case "contacts" :
require_once("contacts.php"); // выводим данные Контакты
break;
default : // если значение переменной action не указано, либо её не существует, либо нет искомого значения
print "Данных нет";
break;
}
?>
Теперь осталось создать файлы about.php и contacts.php с соответствующими данными. about.php
< ?php
print "Сдесь содержатся данные О Нас!";
?>
contacts.php
< ?php
print "Сдесь содержатся данные Контакты!";
?>
Ну вот, мы и создали простейший динамический сайт на ПХП. В следующей статье, я покажу как это всё связать с базой данных MySQL для ещё большей автоматизации вывода данных.
ЗЫ. Из-за проблем с ХТМЛ кодом я добавил пробел перед открывающей скобкой < и закрывающей > в ХТМЛ тегах.
MOPO3 |