Создание элективного курса "Динамические web-сайты"

Автор: Пользователь скрыл имя, 11 Мая 2013 в 07:04, дипломная работа

Краткое описание

Цель работы: разработка элективного курса «Динамические web – сайты».
Для достижения цели исследования необходимо решить следующие задачи:
• проанализировать существующие элективные курсы по созданию динамических сайтов;
• подобрать и адаптировать для школьников теоретический материал, разработать систему упражнений;
• разработать ППС в поддержку элективному курсу.

Оглавление

Глава 1. Технологии создания динамических сайтов. 6
1.2 Различие статичных и динамичных сайтов 9
1.3 Динамические web-сайты. 10
1.4 PHP 14
1.4.1 Общие сведения. 14
1.4.2 Основные характеристики. 14
1.4.3 Синтаксис. 15
1.4.4 Переменные и константы. 15
1.4.5. Управляющие конструкции. 17
1.4.6. Обработка запросов. Формы. 19
1.4.7. Функции. 21
1.4.8. Классы и объекты. 22
1.4.9. Работа с файлами. 24
Глава 2. Элективный курс «Динамические web-сайты» 28
2.1 Пояснительная записка 28
2.2 Описание элективного курса «Динамические web-сайты» 30
2.2.1 Особенности курса 30
2.2.2 Цели курса 34
2.2.3 Структура курса 34
2.2.4 Содержание курса и учебная деятельность 35
2.2.5 Ожидаемые результаты 38
2.3 Педагогическое программное средство 38
Заключение 44
Библиографический список 45

Файлы: 1 файл

Диплом-5.doc

— 1.09 Мб (Скачать)
    1.  PHP

1.4.1 Общие сведения.

PHP – это язык обработки гипертекста, используемый на стороне сервера (server side scripting language), конструкции которого вставляются в HTML-текст. Его цель – позволить максимально быстро создавать динамически генерируемые web-страницы. PHP является открытым программным продуктом, что означает его бесплатность и возможность создавать свои собственные расширения языка. [9]

PHP позволяет отделить HTML-текст от выполняемой части, за счет чего можно добиться значительного снижения затрат времени на разработку проекта. Во многих случаях удается отделить программную часть проекта от разработки страниц на HTML, что облегчает работу и дизайнеру, и программисту. [11]

1.4.2 Основные характеристики.

  • совместимость с различными серверами и платформами;
  • поддержка технологий COM, XML, Java, CORBA, WDDX, Adobe Flash;
  • поддержка взаимодействия с различными сервисами посредством соответствующих протоколов (LDAP, SNMP, IMAP, NNTP, POP3, HTTP и др.);
  • развитая функциональность для работы с сетевыми соединениями;
  • наличие функций для работы с текстовыми данными любых форматов, включая XML;
  • поддержка свыше 20 баз данных, развитая функциональность для работы с ними;
  • возможность создания полноценных объектно-ориентированных приложений;
  • сравнительно простой синтаксис и удобство в практическом использовании;
  • бесплатность;
  • открытость кода, благодаря которой можно создавать собственные расширения языка.

1.4.3 Синтаксис.

PHP-скрипты встраиваются в HTML-код с помощью открывающего тега <?php и закрывающего тега ?>. Такого вида специальные теги позволяют переключаться между режимами HTML и PHP. Программа на РНР – это набор команд (инструкций). Обработчику программы необходимо как-то отличать одну команду от другой. Для этого используются специальные символы – разделители. В PHP инструкции разделяются так же, как и в Cи или Perl, – каждое выражение заканчивается точкой с запятой.

Закрывающий тег ?> также подразумевает конец инструкции, поэтому перед ним точку с запятой не ставят. [5]

Часто при написании  программ возникает необходимость  делать какие-либо комментарии к  коду, которые никак не влияют на сам код, а только поясняют его. PHP поддерживает несколько видов комментариев: в стиле Cи, C++ и оболочки Unix. Символы // и # обозначают начало однострочных комментариев, /* и */ – соответственно начало и конец многострочных комментариев. [10]

1.4.4 Переменные и константы.

 Важным элементом  каждого языка являются переменные, константы и операторы, применяемые к этим переменным и константам.

Переменные. Переменная в PHP обозначается знаком доллара, за которым  следует ее имя (например: $my_var). Имя переменной чувствительно к регистру, т.е. переменные $my_var и $My_var различны.

Имена переменных соответствуют тем же правилам, что и остальные наименования в PHP: правильное имя переменной должно начинаться с буквы или символа подчеркивания с последующими в любом количестве буквами, цифрами или символами подчеркивания. [7]

Переменные в PHP начинаются со знака $, за которыми следует произвольный набор латинских букв, цифр и знака подчеркивания: _, при этом цифра не может следовать сразу за знаком $. [13]

Константы. Для хранения постоянных величин, т.е. таких величин, значение которых не меняется в ходе выполнения скрипта, используются константы. Такими величинами могут быть математические константы, пароли, пути к файлам и т.п. Основное отличие константы от переменной состоит в том, что ей нельзя присвоить значение больше одного раза и ее значение нельзя аннулировать после ее объявления. Кроме того, у константы нет приставки в виде знака доллара и ее нельзя определить простым присваиванием значения. Для определения константы существует специальная функция define(). Ее синтаксис таков:

define("Имя_константы", "Значение_константы", [Нечувствительность_к_регистру])

По умолчанию имена  констант чувствительны к регистру. Существует соглашение, по которому имена  констант всегда пишутся в верхнем  регистре. Получить значение константы  можно, указав ее имя. В отличие от переменных, не нужно предварять имя константы символом $. Кроме того, для получения значения константы можно использовать функцию constant() с именем константы в качестве параметра.

Кроме переменных, объявляемых  пользователем, в PHP существует ряд констант, определяемых самим интерпретатором. Например, константа FILE хранит имя файла программы (и путь к нему), которая выполняется в данный момент, FUNCTION содержит имя функции, CLASS – имя класса, PHP_VERSION – версия интерпретатора PHP. [8]

1.4.5. Управляющие конструкции.

Управляющие конструкции  в РНР представлены условными  операторами, циклами, операторами  передачи управления, операторами включения.

Условные операторы:

  • if. Это один из самых важных операторов многих языков, включая PHP. Он позволяет выполнять фрагменты кода в зависимости от условия. Структура оператора: if (выражение) блок_выполнения;
  • else. Оператор else расширяет if на случай, если проверяемое в if выражение является неверным, и позволяет выполнить какие-либо действия при таких условиях. Структура оператора: if (выражение) блок_выполнения else блок_выполнения1;
  • elseif. Еще один способ расширения условного оператора if. elseif – это комбинация else и if. Как и else, он расширяет if для выполнения различных действий в том случае, если условие, проверяемое в if, неверно. Но в отличие от else, альтернативные действия будут выполнены, только если elseif-условие является верным. Структура оператора:

if (выражение)  блок_выполнения elseif(выражение1) блок_выполнения1 
... 
else блок_выполненияN

  • switch. Еще одна конструкция, позволяющая проверять условие и выполнять в зависимости от этого различные действия. В зависимости от того, какое значение имеет переменная, switch переключается между различными блоками действия. switch очень похож на оператор if...elseif...else или набор операторов if. Структура оператора:

switch (выражение  или переменная){ 
case значение1: блок_действий1 
break; 
case значение2: блок_действий2 
break; 
... 
default: 
блок_действий_по_умолчанию }

Циклы:

  • while. Простой цикл, предписывающий PHP выполнять команды блока_выполнения до тех пор, пока выражение вычисляется как True. Значение выражения проверяется каждый раз в начале цикла, так что, даже если его значение изменилось в процессе выполнения блока_выполнения, цикл не будет остановлен до конца итерации (т.е. пока все команды блока_выполнения не будут исполнены). Структура цикла: while (выражение) { блок_выполнения };
  • do... while. Очень похож на цикл while, с той лишь разницей, что истинность выражения проверяется в конце цикла, а не в начале. Благодаря этому блок_выполнения цикл do...while гарантированно выполняется хотя бы один раз. Структура цикла: do {блок_выполнения} while (выражение);
  • for. Структура цикла: for (выражение1; выражение2; выражение3) {блок_выполнения}
  • foreach. Предназначен исключительно для работы с массивами. Структура: foreach ($array as $value) {блок_выполнения}.

Операторы передачи управления:

  • break. Заканчивает выполнение текущего цикла, может использоваться с числовым аргументом, который говорит, работу скольких управляющих структур, содержащих его, нужно завершить;
  • continue. Позволяет пропустить дальнейшие инструкции из блока_выполнения любого цикла и продолжить выполнение с нового круга.

Операторы включения:

  • include. Позволяет включать код, содержащийся в указанном файле, и выполнять его столько раз, сколько программа встречает этот оператор. Включение может производиться любым из перечисленных способов: include 'имя_файла'; include $file_name; include ("имя_файла");
  • require. Действует примерно так же, как и include. Основное отличие require и include заключается в том, как они реагируют на возникновение ошибки: include выдает предупреждение, и работа скрипта продолжается; ошибка в require вызывает фатальную ошибку работы скрипта и прекращает его выполнение.

1.4.6. Обработка запросов. Формы.

Любой запрос клиента  к серверу должен начинаться с  указания метода. Метод сообщает о  цели запроса клиента. Протокол HTTP поддерживает достаточно много методов, но реально используются только три: POST, GET и HEAD. Метод GET позволяет получить любые данные, идентифицированные с помощью URL в запросе ресурса. Если URL указывает на программу, то возвращается результат работы программы, а не ее текст (если, конечно, текст не есть результат ее работы). Дополнительная информация, необходимая для обработки запроса, встраивается в сам запрос (в строку статуса). При использовании метода GET в поле тела ресурса возвращается собственно затребованная информация (текст HTML-документа, например).

Метод HEAD аналогичен методу GET, только не возвращает тело ресурса и не имеет условного аналога. Метод HEAD используют для получения информации о ресурсе. Это может пригодиться, например, при решении задачи тестирования гипертекстовых ссылок.

Метод POST разработан для передачи на сервер такой информации, как аннотации ресурсов, новостные и почтовые сообщения, данные для добавления в базу данных, т.е. для передачи информации большого объема и достаточно важной. В отличие от методов GET и HEAD, в POST передается тело ресурса, которое и является информацией, получаемой из полей форм или других источников ввода. [4]

Формы предназначены для того, чтобы  получать от пользователя информацию. В них можно вводить текст  или выбирать подходящие варианты из списка. Данные, записанные в форму, отправляются для обработки специальной программе (например, скрипту на PHP) на сервере. В зависимости от введенных пользователем данных эта программа может формировать различные web-страницы, отправлять запросы к базе данных, запускать различные приложения и т.п. [6]

Для обращения к переменным, переданным с помощью HTTP-запросов существует специальный массив – $_REQUEST. Он содержит данные, переданные методами POST и GET, а также с помощью HTTP cookies. Это суперглобальный ассоциативный массив, т.е. его значения можно получить в любом месте программы, используя в качестве ключа имя соответствующей переменной (элемента формы). [12]

Приведем пример использования  массивов $_POST и $_GET. Допустим, нам нужно обработать форму, содержащую элементы ввода с именами first_name, last_name, kurs. Данные были переданы методом POST, и данные, переданные другими методами, мы обрабатывать не хотим. Это можно сделать следующим образом:

<?php 
$str = "Здравствуйте,  
".$_POST ["first_name"]." 
".$_POST ["last_name"] ."! <br>"; 
$str .= "Вы выбрали для изучения курс по ". 
$_POST["kurs"]; 
echo $str; 
?>

Тогда на экране браузера, если мы ввели имя «Иван», фамилию «Петров» и выбрали среди всех курсов курс по PHP, увидим сообщение:

Здравствуйте, Иван Петров!  
Вы выбрали для изучения курс по PHP

1.4.7. Функции.

В программировании, как  и в математике, функция есть отображение  множества ее аргументов на множество  ее значений. То есть функция для  каждого набора значений аргумента  возвращает какие-то значения, являющиеся результатом ее работы.

У каждой функции может быть, как мы уже говорили, список аргументов. С помощью этих аргументов в функцию передается различная информация (например, значение числа, факториал которого надо подсчитать). Каждый аргумент представляет собой переменную или константу. [9]

С помощью аргументов данные в функцию можно передавать тремя различными способами. Это передача аргументов по значению (используется по умолчанию), по ссылке и задание значения аргументов по умолчанию.

Когда аргумент передается в функцию  по значению, изменение значения аргумента внутри функции не влияет на его значение вне функции. Чтобы позволить функции изменять ее аргументы, их нужно передавать по ссылке. Для этого в определении функции перед именем аргумента следует написать знак амперсанд «&». [11]

В РНР существует несколько встроенных функций: echo(), print(), date(), include. Все, кроме date(), являются языковыми конструкциями. Они входят в ядро PHP и не требуют никаких дополнительных настроек и модулей. Функция date() тоже входит в состав ядра PHP и не требует настроек. Но есть и функции, для работы с которыми нужно установить различные библиотеки и подключить соответствующий модуль. Например, для использования функций работы с базой данных MySql следует скомпилировать PHP с поддержкой этого расширения. В последнее время наиболее распространенные расширения и соответственно их функции изначально включают в состав PHP так, чтобы с ними можно работать без каких бы то ни было дополнительных настроек интерпретатора. [9]

1.4.8. Классы и объекты.

Объект – это структурированная  переменная, содержащая всю информацию о некотором физическом предмете или реализуемом в программе  понятии, класс – это описание таких объектов и действий, которые  можно с ними выполнять. [4]

Класс определяется с  помощью следующего синтаксиса:

class Имя_класса{ 
var $имя_свойства; 
/*список свойств*/ 
function имя_метода( ){ 
/* определение метода */ 

/*список методов*/ 
}

Имя класса должно удовлетворять  правилам именования объектов в языке PHP, но есть ряд имен, которые зарезервированы разработчиками для своих целей. В первую очередь это имена, начинающиеся с символа подчеркивания «_». Для создания классов и функций нельзя использовать такие имена. Кроме того, зарезервировано имя stdClass, поскольку оно используется внутри движка PHP.

Информация о работе Создание элективного курса "Динамические web-сайты"