Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
госы / BD_teoria.docx
Скачиваний:
19
Добавлен:
20.05.2015
Размер:
821.35 Кб
Скачать
  1. Язык php. Особенности синтаксиса, основные операторы. Ассоциативные массивы [4 часть 1, с.10-21, 30-34].

Php – язык вебпрограммирования

В PHP сочетаются две самые популярные парадигмы программирования – объектная и процедурная. В PHP4 более полно поддерживается процедурное программирование, но есть возможность писать программы и в объектном стиле.

Основные операторы

Любой текст на языке PHP состоит из последовательности операторов. Оператор может быть присваиванием, вызовом функции, циклом, условным выражением или пустым выражением (ничего не делающим). Операторы обычно заканчиваются точкой с запятой. Также операторы могут быть объединены в группу заключением группы операторов в фигурные скобки. После закрывающей фигурной скобки точка с запятой не ставится. Группа операторов образует составной оператор. В операторах могут в качестве операндов использоваться переменные, константы, функции и выражения.

ИНФЫ ПО ОПЕРАТОРАМ ОЧЕНЬ МНОГО, НО ОНА НЕ СЛОЖНАЯ, ПРОСТО СТРАНИЦ 10, ЛУЧШЕ ВЫКАЧАТЬ В ОТДЕЛЬНЫЙ ФАЙЛ НА ТЕЛЕФОН ИЗ КУРСА (ЛЕЦИИ ПО ТЕМЕ 2)

Ассоциативные массивы

Массив может инициализироваться одним из двух способов: последовательным присвоением значений, или посредством конструкции array().При последовательном добавлении значений в массив вы просто записываете значения элементов массива, используя пустой индекс. Каждое последующее значение будет добавляться в качестве последнего элемента массива.

Элементы массива нумеруются начиная с 0, а не с 1.

$names[] = "Jill"; //

или $names[0] = "Jill"

$names[] = "Jack";

или $names[1] = "Jack"

Массив можно инициировать специальной функцией инициализации массива array()

$names = array(“Jill”,”Jack”)

$names1 = array(“первый”,”второй”,”третий”,”четвертый”, 5, 6)

В отличие от традиционных языков программирования здесь нет типизации в массивах. Все массивы считаются ассоциативными – т.е. всегда существует понятие ключа и понятие элемента массива. В одномерных массивах, если Вы не задаете ключ – им считается индекс. Можно задать сразу ассоциативный массив

$arr1 = array(“первый”=> 1, “второй”=> 2 )

тогда обратиться к элементу массива можно по ключу

$arr1[“второй”] будет равно 2

Отличительной чертой PHP являются ассоциативные массивы и принципы работы с ними. Создадим массив ассоциативный, т.е. имеется некоторый символьный индекс, который позволяет обращаться к элементам массива по значению этого индекса, а не по порядку.

$mim = array(“a”=>100,”b”=>200,”c”=>500); // линейный одномерный ассоциативный массив, a b c – это значения ассоциатора (символьного индекса массива)

$mim[“a”] будет равно 100

Но к ассоциативному массиву можно обращаться и по индексам

$mim[0] тоже равно 100

Можно присваивать значения ассоциативным массивам

$mim[“a”]= 700 теперь элемент с индексом “a “ - имеет значение 700.

Массивы можно строить любой глубины вложенности и любой сложности:

$fruits = array(

"fruits" => array("a"=>"orange","b"=>"banana","c"=>"apple"),

"numbers" => array(1, 2, 3, 4, 5, 6),

"holes" => array("first", 5 => "second", "third") );

Можно создавать «неравномерные» массивы.

$mm = array(“aa”=>1200,300,”bb”=>400, array(1,2,3,4,5));

$mm – массив, состоящий на верхнем уровне из 4-х элементов, при этом последний четвертый элемент этого массива сам является массивом.

Работать с ассоциативными массивами можно с помощью курсора, который является указателем на текущий элемент массива. Для этого используются специальные функции:

  • reset($arr) сброс курсора или установка в исходное состояние;

  • Next ($arr) – переход к следующему элементу;

  • Prev ($arr) – возврат к предыдущему элементу;

  • Current ($arr) – установка на текущий элемент массива;

  • Key($arr) получение значение ключа текущего элемента массива;

В PHP существуют специальные функции сортировки массивов.

Sort(arr) - сортирует элементы в соответствие с числовым и алфавитным порядком (числа знаки пунктуации буквы).Функция заменяет индексы на числовые.

asort(array) - сортирует без изменения символьных индексов.

rsort() - сортируют в обратном порядке.

rasort() - сортируют в обратном порядке по символьным индексам.

ksort() - сортирует массив по ключу.

krsort() - сортирует массив по ключу в обратном порядке

Natsort() использует натуральный порядок чисел для сортировки: 1,3,5,10 а не 1,10,3,5

Natcasesort() 0 Естественная сортировка нечувствительная к регистру

Shuffle() - переставляет элементы массива случайным образом

  1. Методы взаимодействия клиентов и сервера баз данных при использовании Интернет-технологий. Реализация диалога для ввода и публикации данных, хранимых на сервере баз данных с использованием языка php. [4 часть 2 с.14-25].

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

Каждый раз, щелкая по очередной ссылке, вы запрашиваете новый WEB-документ, посылая запрос на сервер, содержащий требуемый документ. Сервер, которому Вы отослали запрос – это Web-сервер. Сервер получает запрос, берет нужный документ и посылает его назад браузеру. Эту схему графически можно представить следующим образом.

Взаимодействие «клиента» и «сервера» в сети Интернет осуществляется по протоколу HTTP (HyperText Transfer Protocol, протокол передачи гипертекста). Этот протокол является базовой основой технологий WWW.

HTTP используется для коммуникаций между различными пользовательскими программами и программами-шлюзами, предоставляющими доступ к существующим Internet-протоколам, таким как SMTP (протокол электронной почты), NNTP (протокол передачи новостей), FTP (протокол передачи файлов), Gopher и WAIS. HTTP разработан для того, чтобы позволять таким шлюзам через промежуточные программы-серверы (proxy) передавать данные без потерь.

Протокол реализует принцип запрос/ответ. Запрашивающая программа – клиент инициирует взаимодействие с отвечающей программой – сервером и посылает запрос, содержащий:

  • метод доступа;

  • адрес URI;

  • версию протокола;

  • сообщение (похожее по форме на MIME) с информацией о типе передаваемых данных, информацией о клиенте, пославшем запрос, и, возможно, с содержательной частью (телом) сообщения.

Ответ сервера содержит:

  • строку состояния, в которую входит версия протокола и код возврата (успех или ошибка);

  • сообщение (в форме, похожей на MIME), в которое входит информация сервера, метаинформация (т.е. информация о содержании сообщения) и тело сообщения.

В протоколе не указывается, кто должен открывать и закрывать соединение между клиентом и сервером. На практике соединение, как правило, открывает клиент, а сервер после отправки ответа инициирует его разрыв.

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

Существует разновидность метода GET – условный GET. Этот метод сообщает серверу о том, что на запрос нужно ответить, только если выполнено условие, содержащееся в поле if-Modified-Since заголовка запроса. Если говорить более точно, то тело ресурса передается в ответ на запрос, если этот ресурс изменялся после даты, указанной в if-Modified-Since.

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

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

Про взаимодействие с сервером БД с помощью php

ВЫКАЧАТЬ МЕТОДИЧКУ ПО ТЕМЕ 3

Там вся методичка на эту тему

Соседние файлы в папке госы