«.$this->_title.»

Шаблон многостраничного сайта на PHP

В этом разделе я постараюсь рассказать о том, как с использованием PHP создать шаблон многостраничного веб-сайта. Думаю, что многие в процессе интернет-серфинга замечают, что большинство сайтов состоят из “однотипных” страниц. Заголовок, левая, правая и нижняя части каждой такой страницы практически идентичны, а отличаются они друг от друга содержимым только основной части, размещенной по центру. В верхней части страницы обычно располагается главное меню сайта. Левая и правая колонки могут содержать различного рода ссылки, баннеры и рекламные блоки. В нижней части предпочитают размещать информацию о проекте, авторских правах и прочие, общие для всех страниц данные. Вручную создавать такие страницы, безусловно, можно, но не целесообразно, поскольку исходная HTML разметка каждой страницы будет содержать изрядную часть дублирующегося кода, а в случае ошибок или попыток изменить их структуру придется вносить изменения во все страницы. С помощью PHP проблема создания шаблона такой страницы решается довольно просто.

В самом начале настоящ. html’a href=’/php.html’>руководства по программированию на PHP я упоминал про инструкции include и require, с помощью которых реализуется модульных подход к разработке програм.html»ml’P. С помощью них, а также с помощью функций и классов этого замечательного языка программирования я и продемонстрирую реализацию шаблона многостраничного сайта. Начнем с описание макета. В разделе основ веб-дизайна я описывал технику верстки DIV блоками на примере макета интернет страницы, состоящей из заголовка, трех колонок и подвала (см. рисунок). Собственно, разметку этого макета и возьмем за основу нашего шаблона.

Читайте также:  wm-school.ru - онлайн учебники по HTML, CSS, JavaScript.

Макет интернет-страницы с тремя колонками, заголовком и подвалом

Макет страницы с тремя колонками.

Части страницы, выделенные серым цветом, будем считать относительно постоянными, а основная часть будет предназначена для уникального в рамках всего сайта контента. В первую очередь необходимо описать API нашего шаблона, который будет представлен несколькими глобальными функциями и одним классом, инкапсулирующим в себе логику построения разметки шаблона с тремя колонками на основе DIV-верстки. Что-то похожее, но в более навороченном варианте представляет собой ядро любой CMS, такой как WordPress, Joomla или Drupal. Ниже представлен исходный код файла global.php :

open(); return $page; > function close_page() < global $page; if ($page==NULL) return; $page->close(); $page=NULL; > function get_page() < global $page; return $page; >class Page < private $_title; private $_description; private $_keywords; function __construct($title, $description, $keywords) < $this->_title = $title; $this->_description = $description; $this->_keywords = $keywords; > public function open() < echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "_description."'>\n"; echo "_keywords."'>\n"; echo "\n"; echo "\n"; echo "\n"; > public function close() < echo "\n"; echo "\n"; > public function begin_header() < echo "
\n"; echo "
\n"; > public function end_header() < echo "
\n"; echo "
\n"; > public function begin_left_side() < echo "
\n"; > public function end_left_side() < echo "
\n"; > public function begin_right_side() < echo "
\n"; > public function end_right_side() < echo "
\n"; > public function begin_center() < echo "
\n"; > public function end_center() < echo "
\n"; > public function begin_footer() < echo "
\n"; echo " \n"; echo "
\n"; echo "
\n"; > public function end_footer() < echo "
\n"; > > ?>

Класс Page содержит ряд методов, формирующих отдельные фрагменты разметки шаблона. Например, метод open() добавляет определение заголовка страницы, метаинформацию (теги meta), ссылку на определение каскадных таблиц стилей и т.п., а метод close() завершает разметку страницы. Все остальные методы являются парными: каждый из них формирует начальную begin_xxx() и конечную end_xxx() разметку соответствующего блока. Конструктор класса Page (метод __construct() ) инициализирует поля класса такими параметрами страницы, как заголовок, описание и список ключевых слов.

Читайте также:  Php include server error

Глобальные функции open_page() и close_page() инициализируют страницу и сохраняют ссылку на экземпляр класса Page в глобальной переменной $page , доступ к которой можно по. html’ь через глобальную функцию get_page() . Безусловно, здесь можно было обойтись и без классов, но мне хотелось на этом примере еще и продемонстрировать реализацию базовых концепций объектно-ориентированного программирования на PHP.

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

begin_center(); echo "
Блок информации в основной части 1
"; echo "
Блок информации в основной части 2
"; echo "
Блок информации в основной части 3
"; echo "
Блок информации в основной части 4
"; echo "
Блок информации в основной части 5
"; echo "
Блок информации в основной части 6
"; echo "
Блок информации в основной части 7
"; get_page()->end_center(); include "footer.html"; close_page(); ?>

До начала формирования разметки страницы необходимо подключить файл global.php , что указано в самой первой инструкции require_once . Далее мы инициализируем страницу вызовом глобальной функции open_page() , передавая значение заголовка, описания и ключевых слов страницы. После, с помощью инструкции include подключаем заголовок и боковые панели страницы и открываем разметку основной области вызовом метода begin_center() класса Page . Теперь можно сформировать основную разметку страницы, которая будет отображена в границах основной области. В заключении необходимо закрыть основную область вызовом end_center() , добавить разметку подвала и закрыть страницу с помощью глобальной функции close_page() .

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

begin_header(); echo "

Название сайта

"; get_page()->end_header(); ?>
begin_left_side(); echo "
Блок информации слева 1
"; echo "
Блок информации слева 2
"; echo "
Блок информации слева 3
"; get_page()->end_left_side(); ?>
begin_right_side(); echo "
Блок информации справа 1
"; echo "
Блок информации справа 2
"; echo "
Блок информации справа 3
"; get_page()->end_right_side(); ?>

begin_footer(); echo "

Информация об авторском праве

"; get_page()->end_footer(); ?>

Результат обработки рассмотренного шаблона можн.html»’мотреть здесь.

Курс для начинаю..html»рограммистов на C# и VB.NET.

Построение SQL запросов и работа с базой данных.

Примеры программной Plug-in архитектуры.

Язык разметки XML и его расширения с примерами.

Языки HTML, XHTML и CSS с примерами разметки.

Основы веб-дизайна: решения типовых задач верстки.

Руководство по программированию на PHP для начинающих.

Шаблоны проектирования
Каталог шаблонов проектирования программных компонентов.

Рефакторинг кода
Каталог приемов рефакторинга программного кода.

Источник

Создание страниц PHP – печатаем сайт налету!

От автора: вы когда-нибудь наблюдали за работой талантливых писателей? У меня есть один знакомый из «таких». Свои произведения он печатает на машинке: считает, что компьютер не способен принять всю «полноту его мыслей». А я ему в ответ говорю, что он так же, как и любая программа, всего лишь умело манипулирует строковыми значениями переменных. В общем, каждый остался при своем мнении. Сегодня мы рассмотрим создание страниц PHP, чтобы доказать, что этот язык программирования обладает огромным талантом.

Динамический талант

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

Использование одного шаблона для создания нескольких веб-страниц.

Интеграция кода PHP в HTML.

PHP-разработчик с нуля

Курс «PHP-разработчик с нуля»

— Научитесь создавать сайты и веб-приложения на языке PHP.

— Изучите актуальные фреймворки Laravel, Simfony и Yii2.

— 78 часов теории и 361 час практики.

— Вы создадите 5 масштабных проектов для портфолио.

— Помощь с поиском работы или стажировки.

SQL и получение данных

Курс «SQL и получение данных»

— Освоите один из основных инструментов работы с данными.

— 20 часов теории, 32 часа практики.

— Видеолекции, вебинары, практические задания и тренажёр.

— Выполните 6 домашних работ и итоговый проект.

— Помощь с поиском работы или стажировки.

Курс веб-разработчик с нуля

Курс «веб-разработчик с нуля»

— Научитесь программировать на JavaScript и PHP.

— Сможете создавать сайты и веб-приложения.

— Сможете уверенно работать и с фронтендом, и с бэкендом веб-сервисов.

— Выполните 9 масштабных проектов для портфолио

— Помощь с поиском работы или стажировки.

Начнем рассмотрение динамического создания страниц на PHP c последнего пункта. Поскольку для изучения первых двух требуется знание третьего. Стартуем!

Разметка основного примера

Сейчас за пару минут «набросаю» разметку самой простой страницы на HTML без особых «изысков».

Источник

Оцените статью