
- •Федеральное агентство по образованию
- •Таганрогский государственный радиотехнический университет
- •Программирование в Интернет
- •Лекция 1. Введение в Web-программирование
- •Принцип работы Web-приложений
- •Обзор известных средств программирования для Internet
- •Первое решение: cgi
- •Преимущества cgi
- •Недостатки cgi
- •Второе решение: isapi-интерфейс
- •Преимущества isapi
- •Недостатки isapi
- •Третье решение: asp
- •Преимущества asp
- •Недостатки asp
- •Лекция 2. Введение в php
- •Что такое рнр?
- •Архитектура рнр
- •Первая программа на php
- •Взаимодействие html и php
- •Лекция 3. Типы данных php
- •Комментарии
- •Логические переменные
- •Синтаксис логических переменных
- •Приведение значений к логическому типу
- •Целые числа
- •Синтаксис целочисленных переменных
- •Целочисленное переполнение
- •Приведение к целочисленному типу
- •Вещественные числа
- •Константы
- •Преобразование строк
- •Лекция 4. Переменные
- •Изменение типа переменной
- •Преобразование типа переменной
- •Операторы и выражения
- •Оператор присваивания
- •Арифметические операторы
- •Оператор конкатенации
- •Дополнительные операторы присваивания
- •Операторы сравнения
- •Логические операторы
- •Увеличение или уменьшение целой переменной
- •Порядок вычисления операторов
- •Динамические переменные
- •Ссылки на переменные
- •Лекция 5. Инструкция if
- •Блок else инструкции if
- •Блок elseif инструкции if
- •Инструкция switch
- •Оператор ?
- •Цикл while
- •Цикл do... While
- •Цикл for
- •Прерывание циклов инструкцией break
- •Пропуск итераций с помощью инструкции continue
- •Лекция 6. Функции
- •Аргументы функции
- •Аргументы по умолчанию
- •Область видимости переменных
- •Лекция 7. Краткий обзор .Net Framework
- •Промежуточный язык Microsoft Intermediate Language
- •Компиляция “Just In Time”
- •Управляемый код и данные
- •Лекция 8. Создание приложений Web Forms Файлы проекта Web Forms
- •Файлы Web-приложения
- •Обработка событий События жизненного цикла Web-приложения
- •Сохранение данных Web-формы
- •Visual Basic .Net
- •Visual c#
- •События Application и Session
- •Visual Basic .Net
- •Visual c#
- •События Web-формы
- •Visual Basic .Net
- •Visual c#
- •События серверных элементов управления
- •Visual Baste .Net
- •Visual c#
- •Лекция 9. Работа с Web-объектами Введение в пространство имен
- •Пространства имен в Web-приложениях Обзор пространства имен Web
- •Visual Basic .Net
- •Visual c#
- •Использование объекта Application
- •Visual Baste .Net
- •Visual c#
- •Использование объекта Page
- •Visual Basic
- •Visual с#
- •Использование объекта Request
- •Visual Baste .Net
- •Visual c#
- •Использование объекта Response
- •Visual Baste .Net
- •Visual c#
- •Лекция 10. Сохранение сведений о состоянии Способы сохранения сведений о состоянии
- •Использование строк запросов
- •Visual Basic .Net
- •Visual c#
- •Использование переменных состояния Application и Session
- •Упорядочение доступа к переменным состояния
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Отключение переменных состояния Session
- •Лекция 11. Web-элементы управления. Использование элементов управления.
- •Простые элементы управления
- •Элементы управления Label
- •Элементы управления HyperLink
- •Элементы управления Image
- •Элементы управления CheckBox
- •Элементы управления RadioButton
- •Элементы управления Table
- •Элементы управления DropDownList
- •Элементы управления ListBox
- •Элементы управления CheckBoxList
- •Элементы управления RadioButtonList
- •Лекция 12. Проверяющие элементы управления
- •Использование проверяющих элементов управления
- •RequiredFieldValidator
- •RangeValidator
- •CompareValidator
- •RegularExpression Validator
- •CustomValidator
- •ValidationSummary
- •Отмена проверки вводимых данных
- •Лекция 13. Введение в Web-сервисы Обзор Web-сервисов xml
- •Инфраструктура Web-сервисов xml
- •Взаимодействие клиентов и Web-сервисов xml
- •Лекция 14. Механизм обнаружения Web-сервисов xml
- •Использование Web-сервисов xml
- •Добавление Web-ссылки
- •Генерация класса прокси
- •Создание объекта класса прокси
- •Доступ к Web-сервису xml через объект прокси
- •Сериализация
- •Лекция 15. Управление Web-методами при помощи атрибутов Атрибуты Web-метода
- •Буферизация откликов Web-метода
- •Visual c#
- •Пользовательские маркеры
- •Подписи
- •Шифрование
- •Лекция 17. Модель безопасности asp.Net
- •Лекция 18. Введение в инфраструктуру Microsoft .Net Remoting
- •Объекты .Net Remoting
- •Передача объектов по механизму .Net Remoting
- •Пример кода для простого серверного объекта .Net Remoting
- •Срок жизни, определяемый арендой
- •Channel Services (System.Runtime.Remoting.Channels)
- •Пример кода, загружающего Channel Services
- •Форматирующие объекты сериализации (System.Runtime.Serialization.Formatters)
Порядок вычисления операторов
При вычислении операторов интерпретатор обычно просто обрабатывает выражение слева направо.
Рассмотрим операторы по порядку старшинства, начиная с самого высокого, т.е. с того, который вычисляется раньше всех.
++ – –
/ * %
+ –
< <= >= >
= = = = = !=
&&
||
= += -= /= *= %= .=
and
xor
or
Динамические переменные
Имя переменной можно сохранить в другой переменной.
$user = “Али”;
эквивалентно следующей записи:
$holder = “user”;
$$holder = “Али”;
В переменной $holder записана строка “user”, поэтому выражение $$holder – это знак $, за которым следует значение переменной $holder. PHP интерпретирует это как $user.
Динамическую переменную можно объявить с помощью строковой константы. Для этого строка, из которой необходимо сделать имя переменной, помещается в фигурные скобки.
${“user”} = “Али”;
Следует отметить что, воспользовавшись оператором конкатенации и циклом, можно создавать сразу несколько динамических переменных.
Для обращения к динамической переменной используется обычный синтаксис:
$user = “Али”;
print $user;
это эквивалентно следующему:
$user = “Али”;
$holder = “user”;
print $$holder;
Однако, для того чтобы вывести имя переменной, нужно обратиться к ней следующим образом:
$user = “Али”;
$holder = “user”;
print “$$holder”;
Выводится знак $, а потом строка user, образуя строку $user. Когда переменная обрамлена “” (двойными кавычками), PHP подставляет вместо нее соответствующее значение. В данном случае PHP подставляет вместо переменной $holder ее значение – user. Для того чтобы указать PHP, что часть строки – это динамическая переменная, необходимо заключить ее в фигурные скобки:
$user = “Али”;
$holder = “user”;
print “${$holder}”;
Пример: (во всех случаях вывод – Али)
$holder = “user”;
$$holder = “Али”;
print “$user<br>”;
print $$holder;
print “<br>”;
print “${$holder}<br>”;
print “${‘user’}”;
Ссылки на переменные
Обычно переменным присваиваются значения других переменных. Другими словами, если присвоить значение переменной $aVar другой переменной , $anotherVar, то копия значения первой переменной будет записана во вторую. В дальнейшем никакие значения первой переменной никак не отразятся на значения второй:
$aVar = 42;
$anotherVar = $aVar;
$aVar = 325;
print $anotherVar; // выводится 42
В PHP имеется возможность заставить переменную $anotherVar постоянно иметь то же самое значение, что и у переменной $aVar:
$aVar = 42;
$anotherVar = &$aVar;
$aVar = 325;
print $anotherVar; // выводится 325
В этой программе изменился только один символ по сравнению с предыдущей программой. Символ & перед именем переменной $aVar говорит о том, что создается ссылка на эту переменную, и теперь все изменения ее значения отразятся на значении переменной $anotherVar. Другими словами, обе эти переменные связаны с одним и тем же значением.
Поскольку такая техника позволяет избежать копирования значений из одной переменной в другую, это позволяет несколько повысить производительность программы.
Замечание. Механизм ссылок появился только в 4-й версии PHP.
Лекция 5. Инструкция if
При выполнении инструкции if вычисляется выражение в скобках. Если значение этого выражения равно true, то блок программы выполняется. В противном случае блок программы полностью пропускается. Таким образом, программа может принимать решение в зависимости от многих факторов.
if(выражение)
{
//этот фрагмент выполняется, если выражение истинно
}
В следующем листинге приведен пример блока программы, который выполняется только в том случае, если в переменной содержится строка "happy".
<?php
$mood = "happy";
if ($mood == "happy")
{
print "Я в хорошем настроении!";
}
?>
С помощью оператора if сравнивается значение переменной $mood со строкой "happy", и если они совпадают, то блок программы, следующий за инструкцией if, выполняется. В данном примере этот блок обрамлен фигурными скобками, но это необходимо делать только в том случае, если данный блок состоит из нескольких инструкций. Таким образом, эту условную инструкцию можно было написать и так:
if ($mood == "happy")
print "Я в хорошем настроении!";
Если изменить значение переменной на sad, то условие не выполнится и блок будет пропущен.