Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ермаков / 07. Глава 4 (-) (54).docx
Скачиваний:
61
Добавлен:
19.04.2015
Размер:
2.02 Mб
Скачать

4.3. Выбор языка программирования для разработки сус

В качестве основного языка программирования для визуализации учебного курса (реализации модели «клиент-сервер»: создание клиента для сервера) и предоставления удобного и дружелюбного интерфейса (разработки ядра СУС) был выбран скриптовый язык PHP(от англ.HypertextPreprocessor―«препроцессор гипертекста») версии 5.3.8.

Рис. 4. 3. Логотип языка PHP

Конечным продуктом работы этого языкаявляется генерация кода страницы на языке HTML(от англ.HyperTextMarkupLanguage— «язык разметки гипертекста»). Код сгенерированной по запросу пользователя страницы поддерживает новую спецификациюHTML5.

Рис. 4. 4. Логотип языка HTML, версии 5

В качестве стиля для страниц используется стандартныйCSS(англ.CascadingStyleSheetsкаскадные таблицы стилей) версии 3 — формальный язык описания внешнего вида документа, написанного с использованием языка разметки.

Рис. 4. 5. Логотип языка CSS, версии3

4.3.1. Использование скриптового языка программирования php 5.X

PHP(англ.HypertextPreprocessor— «препроцессор гипертекста»); первоначально «PersonalHomePageTools» — «инструменты для создания персональных веб-страниц») — скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов. Текущая версия языкаPHP 5.4.3от 8 мая 2012 г.

Язык и его интерпретатор разрабатываются группой энтузиастовврамках проекта с открытым кодом. Проект распространяется под собственной лицензией, несовместимой с GNU GPL.

Коротко опишем историю этого языка[4].

PHP, как известно, на самом деле преемник продукта под названием PHP/FI. Созданное в 1994 годуРасмусомЛердорфом(RasmusLerdorf), самое первое воплощение PHP было простым наборомCGI-скриптов, написанных на языке программированияC. Изначально используя их для отслеживания посещений своего веб-резюме, он назвал этот набор скриптов «PersonalHomepagesTools» («Инструменты для персональных домашних страниц»), но более часто упоминалось название «PHP Tools».

Интересно, существовала только одна версия PHP 2.0. Когда она, наконец, в ноябре 1997 года преодолела статус бета-версии, «парсер» (синтаксический анализатор) языка был уже полностью переписан.

Версия PHP 3.0 подверглась значительной переработке, определившим современный облик и стиль языка программирования. В 1997 году два израильских программиста, Энди Гутманс(AndiGutmans) иЗеевСураски(ZeevSuraski), разработчики из израильского технологического института, расположенного в израильском городе Хайфе, полностью переписали код интерпретатора. И уже к концу 1998 года PHP использовался десятками тысяч пользователей. Сотни тысяч веб-сайтов сообщали об использовании языка программирования PHP. В то время PHP 3.0 был установлен приблизительно на 10 % веб-серверов Интернета.

К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и ЗеевСураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Расширения дали PHP 3.0 возможность успешно работать с набором баз данных и поддерживать большое количество различных APIи протоколов, но PHP 3.0 не имел качественной поддержки модулей и приложения работали неэффективно.

Новый движок, названный ZendEngine(от имён создателей, Зива и Энди, также основателейZendTechnologies), успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принёсший с собой набор дополнительных функций, официально вышел в мае 2000 года.

С 9 августа2008 года всякая поддержка версии PHP 4.x была прекращена.

Пятая версия PHP была выпущена разработчиками 13 июля2004 года. Изменения включают обновление ядра Zend(ZendEngine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметкиXML. Полностью переработаны функцииООП, которые стали во многом схожи с моделью, используемой вJava. В частности, введёндеструктор,открытые,закрытыеизащищённые членыиметоды,окончательные членыиметоды,интерфейсыиклонирование объектов. Нововведения, однако, были сделаны с расчётом сохранить наибольшую совместимость с кодом на предыдущих версиях языка. На данный момент последней стабильной веткой является PHP 5.4.3, которая содержит ряд изменений и дополнений:

  • Увеличена скорость работы, примерно на 10-20%/

  • Введено пространство имён.

  • Позднее статическое связывание и специальный метод __callStatic().

  • Лямбда-функции и замыкания.

  • Добавление расширений: intl,phar,fileinfoиsqlite3.

  • Опциональный сборщик мусора.

  • Был написан драйвер MySQLndдля самой популярной у PHP разработчиков базы данныхMySQL. С появлением нативного драйвера скорость работы с MySQLзначительно увеличилась, также новый драйвер доступен уже в стандартной сборке(ранее это было невозможно из-за лицензии, связанной сlibmysql).

  • Отмена поддержки версий операционной системы до Windows 2000 (Windows 98, NT4, ит.д.).

  • Новые синтаксические конструкции, такие как NOWDOC, ограниченныйGOTO, короткий вид тернарного оператора «?:».

  • И другое...

Итак, PHPэто скриптовыйserver-side(«со стороны сервера») язык программирования, предназначенный в основном для включения вHTML-страницуи выполняемый сервером перед выдачей страницы браузеру.PHPочень похож наASP, и чаще всего применяется вместе с веб-серверомApache, хотя может работать и с другими серверами, напримерcсервером отMicrosoft:IIS(InternetInformationServices, до версии 5.1 —InternetInformationServer) или с любым другим веб-сервером. Кроме того,PHP 5.xявляется объектно-ориентированным языком программирования. Основное преимуществоPHP―простота, гибкость и скорость выполнения.

Сегодня РНР — это мощный кроссплатформенный (функционирующий на множестве платформ, т.е. независимый от операционной системы и архитектуры компьютера) набор средств, который располагается на сервере и предназначен для обработки специального кода, встраиваемого в HTML страницу. Благодаря этому, появляется возможность легко создавать динамические системы и веб-сайты. Файлы, созданные таким образом, хранятся и обрабатываются на сервере, и когда посетитель запрашивает документ с PHP-кодом или скрипт РНР, скрипт обрабатывается не браузером посетителя, как, например,JavaScript, а самим сервером, и посетителю передаются уже только результаты работы. Точно так же работает CGI-программа (от англ.CommonGatewayInterface— «общий интерфейс шлюза»), написанная на «си» илиPerl. Но, в отличие от CGI, код РНР можно встраивать в любое место HTML-страницы, что является основным преимуществом по отношению к CGI. А, кроме того, сам язык РНР очень прост для изучения и не требует каких-либо специфических знаний.

Ядро разрабатываемого программного продукта (СУС «Цифровая библиотека») дипломного проекта полностью содержится в файлах с расширением*.php,и активно используетPHP-код наравне сHTML-кодом. Также, небольшая часть ядра содержится в скриптахJavaScript―файлах*.jsи стилях―файлах*.css).

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

Синтаксис PHP подобен синтаксису языкаC. Некоторые элементы, такие какассоциативные массивыи циклforeach, заимствованы изPerl.

Для работы программы не требуется описывать какие-либо переменные, используемые модули и т. п. Любая программа может начинаться непосредственно с оператора PHP.

Простейшая программа «Hello, World!» на PHP выглядит следующим образом:

Рис. 4. 6.Простейшая программа «Hello,World!»

PHP исполняет код, находящийся внутри ограничителей, таких как <?php ?>. Всё, что находится вне ограничителей, выводится без изменений. В основном это используется для вставки PHP-кода в HTML-документ, например, так:

Рис. 4. 7.Простейшая программа «Hello,World!»вHTML-документе

После выполнение кода выше, на экран в браузере будет выведено содержимо PHPкода из командыecho. Остальное (всё что между<?php ?>и не входит в командуechoбудет вырезано).

Помимо ограничителей <?php ?>, допускается использование дополнительных вариантов, таких как<? ?>и<scriptlanguage="php"></script>. Кроме того, до версии 6.0 допускается использование ограничителей языка программированияASP:<% %>(конструкции<? ?>и<% %>могут быть выключены в конфигурационном файлеphp.ini).

Имена переменных начинаются с символа $, тип переменной объявлять не нужно. Имена переменных, функций и классов чувствительны к регистру. Константы также чувствительны к регистру. Переменные обрабатываются в строках, заключённых в апострофы или двойные кавычки, иheredoc-строках(строках, созданных при помощи оператора<<<).

PHP рассматривает переход на новую строку как пробел, так же как HTML и другие языки со свободным форматом. Инструкции разделяются с помощью точки с запятой (;), за исключением некоторых случаев, после объявления конструкции if-elseи циклов.

PHP поддерживает три типа комментариев: в стиле языка «си» (ограниченные \* *\), C++ (начинающиеся с\\и идущие до конца строки) и оболочкиUNIX#до конца строки).