Добавлен: 28.06.2023
Просмотров: 69
Скачиваний: 2
Введение
Сайты хранят в себе массу полезной и важной информации, они находятся в открытом доступе для любого пользователя, а потому так широко пользуются спросом на сегодняшний день.
Каждый сайт ориентирован на группу пользователей, которые объединяются одними интересами и ищут информацию определенного характера, а если эта информация хранится в одном месте, собрана по крупицам и может дать развернутый ответ на вопрос, который ставит перед собой посетитель - такой сайт будет цениться вдвойне.
Исходя из этого, можно с уверенностью предположить, что сайты создаются именно для сбора и хранения информации, которая находит своего конечного потребителя, а чем больше таких потребителей посещает сайт, тем большую выгоду из своего проекта, извлекает его владелец.
Сайтов существует невероятное количество, их невозможно сосчитать даже при огромном желании, ведь новые проекты запускаются ежедневно, но только единицы достигают поставленных целей, другие же, уходят в никуда. Почему это происходит - однозначно ответить нельзя, просто кто-то готов полностью отдаваться своему делу и вкладывать в него не только свободное время, но также финансовые средства, другие же, останавливаются еще в самом начале пути, бессмысленно выжидая, когда сайт начнет приносить ему прибыль из пустоты.
Если говорить об актуальности создания сайта, то можно утверждать, что любой качественный проект - будет актуален в своем информационном сегменте, если его довести до ума, работать над ним и постоянно наполнять качественным контентом. Ведь информация, которая хранится на этом сайте, если она полезна и ориентирована на конечного пользователя, обязательно найдет своих посетителей.
В рамках курсовой работы будет создан сайт описания компании «Separate», разработчиков компьютерных игр. Сайт будет создан без применения сторонних движков и написан с «нуля».
Сайт будет работать на веб сервере Apache с подключённой базой данных, откуда будет динамично подгружаться вся основная запрашиваемая информация. Так же будет реализована система авторизации пользователей, что позволит разграничить права на использование контента сайта. По итогам мы получим полностью готовый сайт с динамично подгружающимся контентом и системой авторизации пользователей.
Во время реализации курсовой работы будут рассмотрены следующие вопросы:
- Работа сайта на php
- Статическая часть сайта, которая остаётся неизменной при переходах на страницы
- Система динамично подгружаемого контента
- Система авторизации пользователей
- Слайдер актуальных скриншотов разработки проектов компании
- Ссылка на местоположение компании с использованием сервисов «Яндекс»
Глава 1. Техническое задание и выбор средств реализации.
В качестве web-приложения в данном проекте будет выступать сайт компании Separate entertainment, созданный для отслеживания деятельности компании пользователями сети.
Для реализации статической части сайта был выбран текстовый редактор Notepad++
1.1 Текстовый редактор Notepad++
Notepad++ - бесплатный, очень удобный редактор, с подсветкой синтаксиса, русскоязычным интерфейсом, поддержкой всех языков программирования, и кучей других полезных примочек.
Любой файл, написанный в редакторе, можно сразу открыть в браузере и посмотреть, как он выполняется, то есть, увидеть результат.
Аналогичные функции есть у программ, называемых песочницами, и они вроде-бы удобнее, но у них результат выводится в программном окне, что не гарантирует корректного отображения в браузере.
Основные преимущества редактора:
- Интерфейс довольно прост и интуитивно понятен.
- Подсветка кода
Точнее подсветка синтаксиса – выделение конструкций определенного языка цветами с целью улучшения визуального восприятия. Подсветка синтаксиса — это огромное преимущество для любого редактора, подсветка ускоряет процесс написания кода и поиска ошибок.
- Работа практически с любыми форматами на любых языках
Редактор подсвечивает практически любой код: html, css, php, js и многие другие. Код определяется по расширению файла, то есть, если открыть файл index.html ему автоматически присваивается подсветка для html файлов. Если вы считаете, что редактор неверно определил синтаксис открытого документа – можно сменить его в пункте меню «синтаксисы». Кстати, если вы интересуетесь html советую изучить таблицу расшифровки html тегов.
- Простая смена кодировки
- Функция автозавершения
Очень полезная функция для тех, кто пишет код руками. Довольно часто при написании кода я обращаюсь к различным переменным и тут функция автозавершения бесценна. Для ее вызова нужно нажать сочетание клавиш ctrl +пробел.
- Окно поиска и замены
И многое другое.
В качестве серверной платформы был выбрать веб сервер XAMPP.
1.2 Веб сервер Apache
Apache - это кроссплатформенное ПО для серверов с открытыми исходными кодами, распространяемое в виде свободного софта (ограничения на скачивание и копирование отсутствуют). Первая версия веб-сервера была выпущена в 1995 году. С апреля 1996 года и до текущего момента официально считается самым востребованным веб-сервером в глобальной сети. Около 46% всех веб-проектов используют данное программное обеспечение.
Изначально разрабатывался как улучшенная версия NCSA HTTPd 1.3 (популярное серверное ПО до появления Apache). Проект продолжает свое развитие благодаря работе сообщества независимых разработчиков. Выбор в пользу Apache обусловлен его преимуществами: надежность, простота администрирования, модульная структура, гибкость и масштабируемость.
В данном проекте используется Apache версии 2.4.33.
1.3 База данных MySQL
Сам термин база данных (database) означает совокупность связанных между собой таблиц. Например, в одной таблице может храниться информация о пользователе, зарегистрированном на сайте, а в другой – информация о комментариях, которые оставил пользователь на сайте.
SQL – это структурированный язык запросов, созданный для управления реляционными БД. Он обладает широким перечнем возможностей, например, создать таблицу, редактировать и удалять данные, производить запросы из таблиц и многое другое.
База данных сайта MySQL – это система, предназначенная для хранения и обработки информации. Комплекс таблиц, взаимосвязанных между собой, для доступа к которым применяется система управления базами данных (СУБД) MySQL. По сути, MySQL – это специальная программа с открытым кодом, которая используется на сервере SQL. Данная программа не способна обрабатывать большое количество информации, однако она идеальна для небольших и крупных веб-ресурсов.
В данном проекте используется MySQL версии 8.0.11.
1.4 Веб сервер phpMyAdmin
phpMyAdmin — это бесплатное программное обеспечение, используемое для управления базами данных MySQL через веб-интерфейс. Это намного проще, чем использование консоли MySQL, где пользователь должен использовать команды для управления базами данных. Используя phpMyAdmin, с несколькими щелчками мыши люди могут создавать базу данных и предоставлять привилегии для пользователя MySQL для этой базы данных.
Так же хотелось отметить, что приложение распространяется под лицензией GNU General Public License и поэтому многие другие разработчики интегрируют его в свои разработки, например XAMPP, Denwer, AppServ, Open Server.
В данном проекте используется phpMyAdmin версии 4.8.0.1.
Для реализации серверной части сайта, осуществляющей динамическую составляющую проекта выбор пал на язык программирования PHP за его простоту использования и популярность среди хостинг-провайдеров.
1.5 PHP
PHP (рекурсивный акроним словосочетания PHP: Hypertext Preprocessor) — это распространенный язык программирования общего назначения с открытым исходным кодом. PHP специально сконструирован для веб-разработок и его код может внедряться непосредственно в HTML.
PHP отличается от JavaScript тем, что PHP-скрипты выполняются на сервере и генерируют HTML, который посылается клиенту. Если бы у вас на сервере был размещен скрипт, подобный вышеприведенному, клиент получил бы только результат его выполнения, но не смог бы выяснить, какой именно код его произвел. Вы даже можете настроить свой сервер таким образом, чтобы обычные HTML-файлы обрабатывались процессором PHP, так что клиенты даже не смогут узнать, получают ли они обычный HTML-файл или результат выполнения скрипта.
PHP крайне прост для освоения, но вместе с тем способен удовлетворить запросы профессиональных программистов. Не пугайтесь длинного списка возможностей PHP. Вы можете быстро начать, и уже в течение нескольких часов сможете создавать простые PHP-скрипты.
Хотя PHP, главным образом, предназначен для работы в среде веб-серверов, область его применения не ограничивается только этим. Читайте дальше и не пропустите главу Возможности PHP либо, начните непосредственно с Вводного руководства, если вас интересует исключительно веб-программирование.
В данном проекте используется PHP версии 7.2.5
Все вышеперечисленные модули объедены одной общей сборкой под названием XAMPP.
1.6 Дистрибутив XAMPP
XAMPP полностью бесплатный и простой в установке дистрибутив Apache, содержащий MariaDB, PHP и Perl. XAMPP создан с открытым исходным кодом, чтобы быть невероятно простым в установке и в использовании.
XAMPP существует уже более 10 лет и постоянно обновляет свой продукт.
Мой выбор остановился именно на XAMPP из-за его простоты установки и настройки. Для управления сервером Apache и MySQL мною был написан bat файл для простого удаления, перезапуска и других функций, предложенных в технической документации XAMPP (рис. 1).
Рисунок 1. Окно запуска/установки дистрибутива
Так же ниже представлен полный список всех включающих в XAMPP модулей (рис. 2).
Рисунок 2. Сведения о сборке
Глава 2. Описание модулей серверной части программы и их взаимодействие.
2.1 Модули серверной части программы и их взаимодействие
Веб браузеры взаимодействуют с веб-серверами при помощи гипертекстового транспортного протокола (HTTP). Запрос включает в себя URL, определяющий затронутый ресурс, метод, определяющий требуемое действие (например, получить, удалить или опубликовать ресурс) и может включать дополнительную информацию, закодированную в параметрах URL (пары поле-значение, оправленные как строка запроса), как POST запрос (данные, отправленные методом HTTP POST), или в куки-файлах. Веб серверы ожидают сообщений с клиентскими запросами, обрабатывают их по прибытию и отвечают веб-браузеру при помощи ответного HTTP сообщения. Ответ содержит строку состояния, показывающую, был ли запрос успешным, или нет, например, «HTTP/1.1 200 OK» в случае успеха.
Тело успешного ответа на запрос может содержать запрашиваемые данные (например, новую HTML страницу, или изображение, и т.п), который может отображаться через веб-браузер.
Серверная часть написана на языке PHP и развернута на веб сервере Apache (рис.3).
Рисунок 3. Серверная часть сайта
Схема взаимосвязи программных модулей отражает взаимосвязь программного и информационного обеспечения комплекса задач, и может быть представлен несколькими схемами, каждая из которых соответствует определенному режиму. Более подробное описание модулей серверной части и их взаимодействие вы можете увидеть на рисунке 4.
Рисунок 4. Схема взаимосвязи программных модулей
Управляющий модуль - активирует основные программные модули, содержит меню сайта «Separate». Это главная страница сайта с которой можно сделать переход на любую другую запрашиваемую страницу при условии, что меню сайта остаётся статической при переходе на любую другую страницу. Именно к этой странице первым делом подключается база данных и выводит весь контент на экран.