Разработка системы управления сайтом
Один из основных этапов создания сайта – установка системы управления сайтом (CMS). CMS позволяет создавать и редактировать информационное наполнение сайта, размещать различные типы данных: текст, изображения, видео, файлы различных форматов.
Вообще для создания сайта могут использоваться различные CMS: шаблонные (бесплатные или коммерческие) или CMS, разработанные собственно веб-студиями. Обычно студии стараются не использовать бесплатные CMS, хотя, на первый взгляд, это удачный вариант. Дело в том, что впоследствии часто возникают сложности с поддержкой таких сайтов. Ведь поскольку эти CMS бесплатны, за ошибки, в них присутствующие, никто не отвечает. Также никто не гарантирует поиск ошибок и их исправление в новых версиях CMS, поэтому ошибки придется исправлять самим студиям. Кроме того, бесплатные CMS обычно трудно расширяемы (хотя это зависит от задачи).
Поэтому чаще всего студии ориентируются на использование платных CMS (Битрикс, Амиро), где разработчики этих CMS оказывают поддержку и ответственны за безошибочную работу кода, либо на CMS собственной разработки (в этом случае вся ответственность ложится на студию, но в собственном коде ошибки найти и исправить легче).
Для сайта колледжа была выбрана гибридная модель сайта, которая так же имеет систему управления данными и использует принципы юзабилити для привлечения большего количества абитуриентов и распространения информации об учебном заведении, а так же облегчения работы сотрудникам колледжа. Сайт колледжа вмещает в себя сайт-визитку и новостной портал с обратной связью и с использованием базы данных. Будет возможность добавлять, редактировать и удалять статьи, задавать вопросы.
Процесс разработки системы управления сайтом начинается с постановки задачи, которую сайт должен выполнять. Исходя из этого, будет формироваться шаблон сайта, база данных и классы для работы с БД.
CMS состоит из главного класса, который принимает запрос, обрабатывает его и исходя из этого запроса формирует результат. В данной системе он называется modules_class.php, именно в нем происходят все операции по приему, обработке и выводе информации на экран. Более детально такая система рассмотрена ниже на Рисунке 3.
Рисунок 7 Схема работы CMS
Установка системы управления сайтом – это лишь часть действий, производимых на этом этапе создания сайта. Помимо развертывания CMS на этой стадии работ происходит создание дополнительных программных модулей сайта, верстка веб-страниц, создание шаблонов.
Поскольку проект «Сайт колледжа» разбит на две части «Разработка интерфейсной части сайта колледжа» и «Разработка программной части сайта колледжа», шаблон уже готовый, и согласно теме моей дипломной работы я разрабатываю только систему управления сайтом. Задачи поставлены остается только приступить к работе.
Начинаю сразу с третьего этапа разработки CMS – «Создание базы данных». Для ее создания я использую PHPMyAdmin.
PHPMyAdmin — веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. PHPMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять СУБД MySQL без непосредственного ввода SQL команд, предоставляя дружественный интерфейс.
Рисунок 8 Интерфейс СУБД PHPMyAdmin
Далее согласно поставленным задачам я создаю необходимые таблицы, а именно: articles(статьи), images(картинки к статьям), menu(содержит ссылки меню сайта), slider_images(картинки для слайдера в шапке сайта), users(пользователи у которых есть доступ к админ-панели сайта), faq(часто задаваемые вопросы и ответы на них).
На следующем этапе необходимо создать ядро для работы с базой данных. Это класс, который хранит в себе набор низкоуровневых функций, с помощью которых в дальнейшем мы будем управлять базой данных. Низкоуровневыми будем считать функции для работы с MySQL запросами. От ядра будут работать другие классы, которые будут использовать функции из класса для работы с БД, поэтому этот класс считается родительским для остальных классов.
Рисунок 9 Фрагмент кода из класса database_class.php
В этом файле написаны функции для вывода информации из таблиц, как одной, так и нескольких записей, фильтрации выводимой информации, её сортировки, удаления отдельных записей или полностью обнуление всей таблицы.
Этап создания классов для работы с таблицами. Теперь на основе низкоуровневых функций из ядра создаем класс, от которого будут работать классы для каждой таблицы. Этот класс глобальный для всех таблиц и считается родительским для классов таблиц.
Рисунок 10 Фрагмент кода из класса global_class.php