3.2 Выбор и обоснование среды разработки
В качестве языка программирования избран язык php 5.3.6 скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов.
В области программирования для Сети PHP — один из популярных скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.
Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств для разработки веб-приложений. Основные из них:
автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;
автоматизированная отправка HTTP-заголовков;
работа с HTTP-авторизацией;
работа с cookies и сессиями;
работа с локальными и удалёнными файлами, сокетами;
обработка файлов, загружаемых на сервер;
В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в апреле 2011 года PHP находился на 5 месте среди языков программирования. К крупнейшим сайтам, использующим PHP, относятся Facebook, ВКонтакте, Wikipedia и др.
Входит в LAMP — распространённый набор программного обеспечения для создания веб-сайтов (Linux, Apache, MySQL, PHP).
PHP поддерживает широкие объектноориентированные возможности, полная поддержка которых была введена в пятой версии языка.Класс в PHP объявляется с помощью ключевого слова class. Методы и поля класса могут быть общедоступными (public, по умолчанию), защищёнными (protected) и скрытыми (private). PHP поддерживает все три основных механизма ООП — инкапсуляцию, полиморфизм и наследование (родительский класс указывается с помощью ключевого слова extends после имени класса). Поддерживаются интерфейсы (ставятся в соответствие с помощью implements). Разрешается объявление финальных, абстрактных методов и классов. Множественное наследование классов не поддерживается, однако класс может реализовывать несколько интерфейсов. Для обращения к методам родительского класса используется ключевое слово parent.
Классы в PHP имеют ряд специальных методов (англ. Magic methods), начинающихся с двух символов подчёркивания. Особо стоит отметить конструктор (__construct(), в версиях до 5.0 конструктором служил метод, одноимённый с классом) и деструктор (__destruct()), а также методы чтения (__get()) и записи (__set()), свёртывания (__sleep()) и развёртывания (__wake()), клонирования (__clone()) и др. Эти методы являются достаточно гибким инструментом: переопределяя их, можно добиться существенного изменения поведения объекта.
3.3 Реализация программы
На данном этапе жизненного цикла программной системы осуществляется реализация разработанных единиц – классов, функций, модулей, которые в совокупности составляют разрабатываемую систему. За время разработки была реализована система дистанционного обучения, с соответствующими функциями для такого рода разработок.
В ходе реализации проекта были разработаны следующие сервисы системы дистанционного обучения:
– создание теста к видеоуроку;
Рассмотрим некоторые из сервисов подробнее:
На главной странице представлено стандартное меню посредством которого осуществляется навигация на портале, а также горизонтальное дублирующее меню. Также главная страница предоставляет возможность авторизоваться и зарегистрироваться пользователю. На рисунке 3.1 показана авторизация пользователя, на рисунке 3.2 регистрация пользователя, после нажатия на ссылку «регистрация».
Рисунок 3.1 –«Авторизация пользователя»
Рисунок 3.2 – «Регистрация пользователя»
Сервис «Личный кабинет» позволяет просматривать и редактировать информацию о пользователе.
Рисунок 3.3 – «Личный кабинет»
Каждый сервис реализован в соответствии со спецификой проекта.
Обоснование выбора средств разработки php
PHP (Personal Home Page) — скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов.
Язык и его интерпретатор разрабатываются группой энтузиастов в рамках проекта с открытым кодом.
В области программирования для сети Интернет PHP — один из популярных скриптовых языков (наряду с JavaScript, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.
Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств для разработки веб-приложений. Основные из них:
? автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;
? взаимодействие с большим количеством различных систем управления базами данных;
? автоматизированная отправка HTTP-заголовков;
? работа с HTTP-авторизацией;
? работа с cookies и сессиями;
? работа с локальными и удалёнными файлами, сокетами;
? обработка файлов, загружаемых на сервер;
В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу корпорации TIOBE, базирующейся на данных поисковых систем, в апреле 2011 года PHP находился на 5 месте среди языков программирования.
JavaScript — прототипно-ориентированный сценарный язык программирования. Является диалектом языка ECMAScript.
JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.
JavaScript является объектно-ориентированным языком, но используемое в языке прототипирование обуславливает отличия в работе с объектами по сравнению с традиционными класс-ориентированными языками. Кроме того, JavaScript имеет ряд свойств, присущих функциональным языкам — функции как объекты первого класса, объекты как списки, анонимные функции, замыкания — что придаёт языку дополнительную гибкость.
AJAX — подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате, при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся быстрее и удобнее.
AJAX — не самостоятельная технология, а концепция использования нескольких смежных технологий. AJAX базируется на двух основных принципах:
? использование технологии динамического обращения к серверу «на лету», без перезагрузки всей страницы полностью;
? использование динамического языка гипертекстовой разметки (DHTML) для динамического изменения содержания страницы.
Действия с интерфейсом преобразуются в операции с элементами называемыми Document Object Model (DOM), с помощью которых обрабатываются данные, доступные пользователю, в результате чего представление их изменяется. Здесь же производится обработка перемещений и щелчков мышью, а также нажатий клавиш.
Каскадные таблицы стилей (CSS) обеспечивают согласованный внешний вид элементов приложения и упрощают обращение к DOM-объектам. Объект XMLHttpRequest (или подобные механизмы) используется для асинхронного взаимодействия с сервером, обработки запросов пользователя и загрузки в процессе работы необходимых данных.
Три из этих четырех технологий — CSS, DOM и JavaScript — составляют DHTML.
В качестве формата передачи данных могут использоваться фрагменты простого текста, HTML-кода, JSON или XML.
Для написания кода использовалась программа Notepad++.