гибкостью.
Язык РНР кажется знакомым программистам, работающим в разных областях. Многие конструкции языка позаимствованы из Си Perl, а нередко код РНР практически неотличим от того, что встречается в типичных программах С или Pascal. Это заметно снижает начальные усилия при изучении РНР. Сценарий РНР может состоять из 10 000 строк или из одной строки - все зависит от специфики задачи. Не придется подгружать библиотеки, указывать специальные параметры компиляции. Механизм РНР просто начинает выполнять код после первой экранирующей последовательности и продолжает выполнение до того момента, когда он встретит парную экранирующую последовательность. Если код имеет правильный синтаксис, он исполняется в точности так, как указал программист. Эффективность является исключительно важным фактором при программировании для многопользовательских сред, к числу которых относится и WWW. В РНР 4.0 был реализован механизм выделения ресурсов и обеспечена улучшенная поддержка объектно-ориентированного программирования, а также средства управления сеансом. В последней версии появился и механизм подсчета ссылок (reference counting), предотвращающий выделение лишней памяти. РНР предоставляет в распоряжение разработчиков и администраторов гибкие и эффективные средства безопасности, которые условно делятся на две категории: средства системного уровня и средства уровня приложения.
В РНР реализованы механизмы безопасности, находящиеся под управлением администраторов; при правильной настройке РНР это обеспечивает максимальную свободу действий и безопасность. РНР может работать в так называемом безопасном режиме (safe mode), который ограничивает возможности применения РНР пользователями по ряду важных показателей. Например, можно ограничить максимальное время выполнения и использование памяти (неконтролируемый расход памяти отрицательно влияет на быстродействие сервера). По аналогии с cgi-bin администратор также может устанавливать ограничения на каталоги, в которых пользователь может просматривать и исполнять сценарии РНР, а также использовать сценарии РНР для просмотра конфиденциальной информации на сервере (например, файла passwd).
В стандартный набор функций РНР входит ряд надежных механизмов шифрования. РНР также совместим с многими приложениями независимых фирм, что позволяет легко интегрировать его с защищенными технологиями электронной коммерции (e-commerce). Другое преимущество заключается в том, что исходный текст сценариев РНР нельзя просмотреть в браузере, поскольку сценарий компилируется до его отправки по запросу пользователя. Реализация РНР на стороне сервера предотвращает похищение нетривиальных сценариев пользователями, знаний которых хватает хотя бы для выполнения команды View Source.
Поскольку РНР является встраиваемым (embedded) языком, он отличается исключительной гибкостью по отношению к потребностям разработчика. Хотя РНР обычно рекомендуется использовать в сочетании с HTML, он с таким же успехом интегрируется и в JavaScript, WML, XML и другие языки. Кроме того, хорошо структурированные приложения РНР легко расширяются по мере необходимости (впрочем, это относится ко всем основным языкам программирования). Нет проблем и с зависимостью от браузеров, поскольку перед отправкой клиенту сценарии РНР полностью компилируются на стороне сервера. В сущности, сценарии РНР могут передаваться любым устройствам с браузерами, включая сотовые телефоны, электронные записные книжки, пейджеры и портативные компьютеры, не говоря уже о традиционных PC. Программисты, занимающиеся вспомогательными утилитами, могут запускать РНР в режиме командной строки. Поскольку РНР не содержит кода, ориентированного на конкретный web-сервер, пользователи не ограничиваются определенными серверами (возможно, незнакомыми для них). Apache, Microsoft IIS, Netscape Enterprise Server, Stronghold и Zeus - РНР работает на всех перечисленных серверах. Поскольку эти серверы работают на разных платформах, РНР в целом является платформенно-независимым языком и существует на таких платформах, как UNIX, Solaris, FreeBSD и Windows 95/98/NT/Me/2000/XP. Наконец, средства РНР позволяют программисту работать с внешними компонентами, такими как Enterprise Java Beans или СОМ-объекты Win32. Благодаря этим новым возможностям РНР занимает достойное место среди современных технологий и обеспечивает масштабирование проектов до необходимых пределов.
§3. Создание интерактивного Web-приложения с использованием языка программирования JavaScript на примере теста по теме «Программирование»
Приведем пример интерактивного Web-приложения, которое создано с использованием языка программирования JavaScript. Данное Web-приложение является тестом по теме «Программирование на языке Delphi». Тест содержит 5 вопросов. После запуска Web-приложения в окне браузера отображается заголовок, вопросы теста и варианты ответов. Тип вопросов в тесте относится к одиночному выбору. После выбора правильных вариантов ответов, нужно щелкнуть на кнопку «Ответить» и будет выведен результат тестирования. Тестирование можно повторить, щелкнув на кнопку «Очистить», обнулив переключатели Количество вопросов можно добавить до 10 и более.
title>тест</title>
<script type="text/javascript">(id, visible)
{.getElementById(id).style.display =? 'block': 'none'
}(f)
{, s='', el= newObject()= newObject()(i=0; i<f.length; i++)
{= f.elements[i](el.type=='radio'&& el.name.indexOf('question')==0)
{[el.name] = 0(el.checked)[el.name] = parseInt(el.value)
}
} = 0, answered = 0, score = 0(i inquestions) asked++(i inanswers)
{+++= answers[i]
}(answered < asked)
{('Вы ответили на '+answered+' вопросов из '+asked+'.
}
{('questionsForm', false)= document.getElementById('score').innerHTML = (score>0) ? '+'+score : score('results', true)(score == 0)('1', true)(score == 1)('2', true)(score == 2)('3', true)(score == 3)('4', true)(score == 4)('5', true)(score == 5)
}
}()
{('results', false)('questionsForm', true).forms['opros'].reset()
}
</script>
</head>
<body>
<hr width="100%"size="2"/>
<h3 align="center">Тест по теме "Программирование на языке Delphi"</h3>
<hr width="100%"size="2"/>
<div id="questionsForm">
<formname="opros"><p />
<strong>1.</strong>Технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть рутинной работы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий
<input type="radio"name="question1"value="0"id="q1a1"/><label for="q1a1">a) TreeView</label>
<input type="radio"name="question1"value="0"id="q1a2"/><label for="q1a2">b) Inspector</label>
<input type="radio"name="question1"value="1"id="q1a3"/><label for="q1a3">c)
Rapid Application Development</label>
<input type="radio"name="question1"value="0"id="q1a4"/><label for="q1a4">d)Inspector</label>
<hr />
<p />
<strong>2.</strong>Окно, которое представляет собой заготовку главного окна разрабатываемого приложения
<input type="radio"name="question2"value="1"id="q2a1"/><label for="q2a1">a)
Стартовая форма</label>
<input type="radio"name="question2"value="0"id="q2a2"/><label for="q2a2">b) TreeView</label>
<input type="radio"name="question2"value="0"id="q2a3"/><label for="q2a3">c) Application Development</label>
<input type="radio"name="question2"value="0"id="q2a4"/><label for="q2a4">d) Inspector</label>
<hr/>
<p/>
<strong>3.</strong>Среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi.
<input type="radio"name="question3"value="0"id="q3a1"/><label for="q3a1">a) </label>
<input type="radio"name="question3"value="1"id="q3a2"/><label for="q3a2">b) Application Development</label>
<input type="radio"name="question3"value="0"id="q3a3"/><label for="q3a3">c)
Стартоваяформа</label>
<input type="radio"name="question3"value="0"id="q3a4"/><label for="q3a4">d) TreeView</label>
<hr/>
<p/>
<strong>4.</strong>Окно, предназначенное для редактирования значений свойств объектов
<input type="radio"name="question4"value="0"id="q4a1"/><label for="q4a1">a)
Стартовая форма</label>
<input type="radio"name="question4"value="0"id="q4a2"/><label for="q4a2">b) TreeView</label>
<input type="radio"name="question4"value="1"id="q4a3"/><label for="q4a3">c) Inspector</label>
<input type="radio"name="question4"value="0"id="q4a4"/><label for="q4a4">d) Application Development</label>
<hr/>
<p/>
<strong>5.</strong>Окно, которое отображает визуальные и невизуальные компоненты, находящиеся на форме, модуле данных, или во фрейме
<input type="radio"name="question5"value="0"id="q5a1"/><label for="q5a1">a)
Стартовая форма</label>
<input type="radio"name="question5"value="0"id="q5a2"/><label for="q5a2">b) Application Development</label>
<input type="radio"name="question5"value="0"id="q5a3"/><label for="q5a3">c) Inspector</label>
<input type="radio"name="question5"value="1"id="q5a4"/><label for="q5a4">d) TreeView</label>
<hr/>
<p/>
<input type="button"value="Ответить"onClick="processForm(this.form)"/>
<input type="reset"value="Очистить"></input>
</form>
</div>
<hr />
<div id="results"style="display:none;">
<h3>Количество правильных ответов: <spanid="score"></span></h3>
<div id="1-"style="display: none";>
<p>Ваша оценка: 1-</p>
<div id="1"style="display: none";>
<p>Ваша оценка: 1</p>
<div id="1+"style="display: none";>
<p>Ваша оценка: 1+</p>
</div>
<hr/>
<p>Спасибо за участие в тестировании</p>
Заключение
В ходе научно-исследовательской работы над курсовой работой были решены следующие задачи:
1.Изучен и систематизирован теоретический материал по теме исследования.
2.Определены возможности языка программирования JavaScript.
.Проведен сравнительный анализ языков программирования JavaScript и PHP.
.Разработано интерактивное Web-приложение на примере теста по теме «Программирование на языке программирования Delphi».
В данной курсовой работе были выполнены все задачи, обозначенные во введении, благодаря чему авторы достигли поставленной цели - создание интерактивного Web-приложения с использованием языка программирования JavaScript.
javascript php программирование интерактивный
Список литературы
1.Матросов А.В., Сергеев А.О, Чаунин М.П. HTML 5.0. - СПб.: БХВ-Петербург, 2010.
2.Кенин А.М., Печенкина Н.С. Новый уровень создания HTML-документов. - Екатеринбург: Деловая книга, 2009.
.Дэвис С. Язык JavaScript. - К.: Диалектика, 2006.
.Микляев А. Основы HTML. - М.: Солон, 2008.
.Зубкова С.В. Интерактивные Web-документы. - М.: ДМК Пресс, 2012.