Печать

Имея небольшой запас знаний по PHP, можно извлечь большую пользу. Приведем пример. Представьте, что нужно создать веб-сайт, состоящий из множества веб-страниц. Так как при создании веб-страницы обычно соблюдается единство стиля и вида веб-страниц, поэтому, вероятно, верхние (нижние) части этих страниц будут одинаковыми.

В случае создания каждой из этих страниц вручную, нужно будет:

  1. в каждой странице верхнюю и нижнюю части писать вручную или каждый раз копировать-вставлять заранее созданный шаблон
  2. вручную изменять каждый файл при возникновении необходимости изменить верхнюю или нижнюю части

Очевидно, что такой способ создания веб-страниц требует много времени и малоэффективен. Что же делать? Один из способов – это воспользоваться командой include языка PHP.

Код, который должен быть на верхней части каждой страницы, сохраним в файле header.php:

<html>
<body>
<a href="/">Начало</a> | 
<a href="/">О нас</a> | 
<a href="/">Новости</a> | 
<a href="/">Контакты</a> 
<br />

Код, который должен быть на нижней части каждой страницы, сохраним в файле footer.php:

<p>Copyright © 2011 OFTOB.COM. All rights reserved.
</body>
</html>

Таким образом, структура каждой страницы нашего сайта будет следующая:

<?php include("header.php"); ?>
Здесь теги HTML и/или код PHP страницы
<?php include("footer.php"); ?>

Напомним, что расширение наших файлов будет .php.

Вместо того чтобы в каждом файле писать теги нижних и верхних частей веб-страницы, достаточно в каждый файл добавить две строки с соответствующими операторами include. При возникновении необходимости изменить верхнюю или нижнюю части, не нужно изменять все созданные файлы. Достаточно внести нужные изменения в header.php или footer.php.

Например, главный файл веб-сайта index.php может быть таким:

<?php include("header.php"); ?>
<?php 
$str="Первая страница";
echo $str;
?>
<?php include("footer.php"); ?>

При открытии файла index.php на браузере посетителя сайта вначале отобразятся теги и текст, содержащиеся в файле header.php, затем отобразиться результат команды echo файла index.php и в конце отобразятся теги и текст, содержащиеся в файле footer.php.

Код, содержащийся в файле, указанном в команде include, прикрепляется к коду скрипта, в котором используется include.

Если в операторе include указать несуществующий файл, то при выполнении скрипта произойдет ошибка и отобразится сообщение об ошибке, подобное следующему:

Warning: main(noFileExistsHere.php): failed to open stream:
No such file or directory
in /home/testsite/index.php on line 1 Warning:
main(): Failed opening 'File.php' for inclusion
(include_path='.:/usr/lib/php:/usr/local/lib/php')
in /home/testsite/index.php on line 1
 Первая страница

Заметим, что команда echo исполнена независимо от сообщения об ошибке. То есть при использовании команды include, даже при отсутствии указанных файлов, делается попытка исполнения продолжения кода.

Существует подобная команде include команда require. Однако команда require при отсутствии указанного файла выводит сообщение об ошибке и прерывает исполнение файла.

Также существуют команды include_once и require_once, которые работают как include и require, соответственно, с тем отличием, что защищают от повторного прикрепления кода из указанных в них файлов.

Напомним, что расширение наших файлов будет .php.

Вместо того чтобы в каждом файле писать теги нижних и верхних частей веб-страницы, достаточно в каждый файл добавить две строки с соответствующими операторами include. При возникновении необходимости изменить верхнюю или нижнюю части, не нужно изменять все созданные файлы. Достаточно внести нужные изменения в header.php или footer.php.

Контрольные вопросы и задания

  1. В чем отличие команды include от команды require?
  2. В чем отличие команды include от команды include_once?
  3. Создайте небольшой проект, в котором будет использована команда require_once.

Комментарии   

 
0 #1 Zoro 08.09.2012 21:56
Спасибо, теперь более подробно знаю об этом способе

Но вопрос один, вот пример структуры сайта:
---
*index.php
папка-include
*footer.php
*header.php
---
в файле index.php ссылки типа "" на "footer.php" и "header.php". Чтобы всё правильно работало, нужно создавать на хосте ещё какие-то папки и/или файлы, чтобы показать компу, что тут php работает? Если да, то где и с каким названием?

Спасибо)
Цитировать
 

Добавить комментарий


Защитный код
Обновить

Произведение «OFTOB.COM» публикуется на условиях лицензии Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Непортированная.