Практическая работа№22
Тема: Генерация скриптов, а также текстовых и других типов файлов
Цель: закрепление знаний и умений по динамическому созданию страниц.
Время выполнения: 2 часа
Теоретический материал:
Шаблоном (применительно к web-программированию) называется часть web-документа, которую используют на нескольких страницах. Шаблоны, как и функции РНР, избавляют от лишнего копирования/вставки фрагментов содержания страницы и программного кода.
Как правило, общие фрагменты содержания/кода (то есть шаблоны) сохраняются в отдельных файлах. При построении web-документа они просто "включаются" в соответствующие места страницы. ВРНРдляэтогосуществуютфункции: include(), include_once(), require(), require_once().
Функция include() включает содержимое файла в сценарий. Если вызов функции включен в блок команды if, то файл включается в программу лишь в том случае, если условие if истинно. Если функция include() используется в условной команде, то она должна быть заключена в фигурные скобки или в альтернативные ограничители.
Функция include_once() делает то же, что и include(), за одним исключением: прежде чем включать файл в программу, она проверяет, не был ли он включен ранее. Если файл уже был включен, вызов include_once() игнорируется, а если нет - происходит стандартное включение файла.
Между функциями require() и include() существует одно важное различие. Файл, определяемый параметром require(), включается в сценарий независимо от местонахождения require() в сценарии. Например, при вызове requiге() в блоке if при ложном условии файл все равно будет включен в сценарий.
Функция require_once() гарантирует, что файл будет включаться в сценарий всего один раз. После вызова requirе_оnсе() все дальнейшие попытки включения того же файла игнорируются.
Пример использования простого инициализационного файла:
Листинг инициализационного файла:
<?$site_title = "РНР Recipes";
$contact_email = "wjgilmore@hotmail.com";
$contact_name = "WJ Gilmore";?>
Листингосновногофайла init.tpl
<? require ('init.tpl ');?>
<html><head>
<title><? print $site_title; ?></title>
</head>
<body>
<? print "Welcome to $site_title. For questions, contact <a href =
\"mai1 to:$contact_email\">$contact_name</a>."; ?>
</body></html>
Задания:
Создайте web-сайт группы, содержащий четыре страницы: 1) главная с приветствием; 2) основная информация (состав группы, адрес электронной почты и другие контактные данные); 3) фотоальбом; 4) форма с полями и кнопкой для отправки пожеланий посетителей: имя, адрес электронной почты, текст примечания.
Кроме этого общая информация должна находится в различных php-файлах и подгружаться на страницы по необходимости: 1) надпись в строке заголовка и путь к файлам php; 2) рекламная информация; 3) контактная информация.
Ход работы:
1. Прежде всего, разработайте систему каталогов для размещения страниц сайта. Возможен такой вариант: все php-файлы сохранять в папке «init», все остальные страницы, кроме главной index.html, записывать в папку «site».
2. Соответственно в общей папке будет содержаться: файл index.html и каталоги «init» и «site».
3. Первый php-файл содержит две переменные:
<?
$site_title = “Сайт группы (Название группы)”;
$path = “http://localhost/ ваш каталог/init/”;
?>
4. Второй php-файл может быть следующего характера:
<?
<center><h2> Реклама на НАШЕМ сайте</h2>
Поможет продвижению ВАШЕГО товара! </center>
?>
5. Файл с контактной информацией:
<? $email = "noname@yandex.ru";
$name = "student";?>
Кроме адреса электронной почты и имени файл может содержать, например, ссылки на другие сайты.
6. Остальные страницы формируются обычным образом с помощью html-тэгов, за исключением того, что по мере необходимости происходит включение php-файлов с помощью функций require() или include().
7. Обязательно предусмотрите проверку формы на корректность заполнения (используйте php-скрипт из предыдущего практического занятия).
Контрольные вопросы:
1. Укажите преимущества динамической генерации web-страниц.
2. Охарактеризуйте функции для включения текстов из файлов.
3. Нужно ли использовать тэги <? ?> для записи команд во включаемом файле?
4. Охарактеризуйте алгоритм решения задания из практической работы.
5. Можно ли в один и тот же файл включать несколько других?
6. Укажите отличия функций include() иinclude_once().
7. Укажите отличия функций require() и require_once().
8. Есть ли смысл использовать функцию require() в условном операторе?
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.