PHP | Как вставить HTML код из разных файлов?

Аннотация

Обычно, стандартные страницы сайта в формате HTML требует постоянного заполнения одних и тех же элементов (тегов). Например, у нас есть интернет-магазин, в котором 30000 страниц товаров. На каждой такой странице есть одна и та же информация с кодами счётчиков поисковых систем, с кодами всплывающих окон чатов и мессенджеров, с кодами просьбы обратного звонка, с кодами разделов, с кодами верхнего и нижнего меню («шапки» и «подвала») и т.д..

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

Нет смысла вручную создавать HTML документы и складывать их в папку с относительными путями ссылок внутри HTML-кода. А вдруг вы что-то захотите поменять в меню или в рекламном блоке. Вдруг поменяется код счётчика. Что тогда? Менять все 30000 документов? Это бред, и вы это понимаете.

Решением данной проблемы остаётся модульное разделение разных участков кода на разные файлы. Счётчик Яндекса мы положим в один файл, а счётчик Google в другой. Потом мы создадим отдельный файл шаблон, по которому будут динамически собираться страницы. Поможет нам в этом скриптовый язык PHP и его выражения — include или require.

Разница между выражениями заключается в том, что при ошибке require выдаст фатальную ошибку уровня E_COMPILE_ERROR, а include выдаст предупреждение E_WARNING, которое позволит скрипту продолжить выполнение.

Задача

Нужно научиться подключать файлы в PHPвставлять содержимое внешнего файла в PHP.

Среда разработки

Для решения этой задачи будем использовать локальную среду разработки — OpenServer. Этот продукт позволяет эмулировать работу реального сайта на домашнем компьютере (не на сервере).

Решение задачи

Мы создадим 4 файла, чтобы убедиться, что «голые» HTML коды подгружаются в один файл PHP без каких-либо проблем. Основной файл, в котором будем собирать содержимое трёх, назовём классически — «index.php». По умолчанию веб-серверы пытаются отыскать в директориях хостинга именно файлы с именем «index«, чтобы загрузить страничку сайта.

Остальные 3 файла будут иметь схожие друг с другом имена: «file1.php«; «file2.php«; «file3.php«.

Для начала в основной файл запишем базовый шаблон кода HTML страницы и добавим элементы, определяющие начало и конец выполнения скрипта PHP.

Объявление скрипта PHP в HTML документе
Объявление скрипта PHP в HTML документе
<!doctype html>
<html lang="ru">
   <head>
      <meta charset="utf-8">
   </head>
   <body>
      <h1>Файл index.php</h1>
      <?php
      ?>
   </body>
</html>

В файл «file1.php» запишем HTML заголовок «h2» с содержимым — «Это строка из файла file1.php«.

В файл «file2.php» запишем HTML заголовок «h2» с содержимым — «Это строка из файла file2.php«.

В файл «file3.php» запишем HTML заголовок «h2» с содержимым — «Это строка из файла file3.php«.

Строка с HTML заголовком H2 из файла file1.php
Строка с HTML заголовком H2 из файла file1.php
Строка с HTML заголовком H2 из файла file2.php
Строка с HTML заголовком H2 из файла file2.php
Строка с HTML заголовком H2 из файла file3.php
Строка с HTML заголовком H2 из файла file3.php
<h2>Это строка из файла file1.php</h2>

<h2>Это строка из файла file2.php</h2>

<h2>Это строка из файла file3.php</h2>
Вид четырёх файлов в одной папке
Вид четырёх файлов в одной папке

Добавление информации о подключении кода трёх файлов в основной файл

Подключение файлов PHP при помощи выражения "require"
Подключение файлов PHP при помощи выражения «require»
<!doctype html>
<html lang="ru">
   <head>
      <meta charset="utf-8">
   </head>
   <body>
      <h1>Файл index.php</h1>
      <?php
         require "file1.php";
	 require "file2.php";
	 require "file3.php";
      ?>
   </body>
</html>

Запустим выполнение файла «index.php» в браузере при активном локальном веб-сервере.

Вид файла index.php во вкладке браузера после применения скрипта PHP с require
Вид файла index.php во вкладке браузера после применения скрипта PHP с require

Мы видим чистый HTML одного полноценного документа, который собрался из разных файлов на нашем хостинге. По сути — это самый простой способ применения PHP в разработке, если ты только-только знакомишься с возможностями скриптового языка.

Откроем инструменты разработчика и посмотрим содержимое. Ниже показан собранный основной файл «index.php» из разных PHP-файлов в инструментах разработчика.

Собранный основной файл "index.php" из разных PHP-файлов в инструментах разработчика
Собранный основной файл «index.php» из разных PHP-файлов в инструментах разработчика

Итог

Мы добились решения поставленной задачи и теперь можем разделить PHP документ со сложной структурой на более простые и понятные части в виде отдельных PHP файлов.

В каком случае пригодится знание подключения файлов в PHP

Если вы недавно поняли, что такое HTML и зачем он нужен, если вы попробовали создать своими собственными руками «лендинг пэйдж» на 10 страниц, то вы 100% задались вопросом: «А как можно упростить себе работу над проектом?».

Информация, описанная в этой публикации, приоткрывает дверь на пути в понимании модульности систем управления контента сайта. Уже сейчас вам очевидно, что сложные и большие проекты пишутся не за один день. А это значит, что сайт должен уметь разграничивать зоны ответственности между разработчиками, чтобы не «валить всё в одну кашу» и не загромождать восприятие кода.

Успехов в работе!

 

Поделись записью