
- •Федеральное агентство по образованию
- •Таганрогский государственный радиотехнический университет
- •Программирование в Интернет
- •Лекция 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)
Константы
Возможна ситуация, когда необходимо описать такое значение, которое не должно изменяться во время выполнения программы. В этом случае нужно создать константу. Для этого существует функция define(). Константа, созданная с помощью этой функции, не может быть изменена. Для того чтобы создать такую константу, необходимо передать функции define() в качестве параметров имя константы и ее значение.
define("CONSTANT_NAME", 42);
Значение, которое связывается с именем константы, может быть только числом или строкой. Имя константы должно состоять только из заглавных букв. Для обращения к константе указывается лишь ее имя, знак доллара перед именем не ставится.
define ("USER", "Gerald" );
print "Welcome ".USER;
Строки
В РНР строки представляют собой последовательность алфавитно-цифровых символов, которые окружены одним из двух наборов ограничителей.
Если строка заключена в двойные кавычки ", производится расширение переменных, имена которых включены в состав строки. Кроме того, в этом режиме поддерживаются следующие ESC-коды, активизируемые символом «\»:
ESC-код |
Название |
\n |
Новая строка (LF или 0x0A (10) в ASCII) |
\r |
Возврат каретки (CR или 0x0D(13) в ASCII) |
\t |
Табулятор (HT или 0x09 (9) в ASCII) |
\\ |
Обратный слеш |
\$ |
Знак доллара |
\” |
Двойная кавычка |
Второй ограничитель строки – это одиночные кавычки «'». При его использовании единственные ESC-коды, которые будут интерпретироваться PHP-машиной, - это «\\» и «\'». Расширение переменных в таких строках не происходит.
Для слияния (объединения) строк используется оператор “.”. Использование оператора сложения «+» для этой цели не разрешено. Доступ к отдельным символам строки осуществляется, как в Паскале и Си, за счет интерпретации строки как массива отдельных символов. Рассмотрим примеры строк:
<?рhр
/*Присвоение переменной строкового значения. */
$str = "Это простая строка";
/* и дописывание ей значения. */
$str = $str . " в которую добавлен текст";
/* Еще один вариант конкатенации в стиле Perl */
$str .= “ а затем приписан символ конца строки \n";
/* строковая переменная получит вид '<р>Дом номер 13</р>' */
$num = 13;
$str = "<р>Дом номер $num</p>";
/* А эта - '<р>Дом номер $num</р>' */
$num =13;
$str = '<р>Дом номер $num</р>';
/* Извлекаем первый символ строки */
str = 'Строка для анализа. ';
$first = $str[0];
/* А можно извлечь и последний ... */
$last = $str[strlen($str)-1];
?>
Преобразование строк
Преобразование строки в числовое значение осуществляется в соответствии со следующим правилами.
Строка преобразуется в вещественное число, если содержит хотя бы один из символов: “.” “е”, или “E”. Если же ни одного из этих символов нет, предпринимается попытка интерпретировать строку как целое число.
Для формирования числа используется начальный фрагмент строки. Если строка начинается с последовательности, интерпретируемой как число, то результатом обработки станет это число. В противном случае значение числа становится равным 0.
В тех случаях, когда первое выражение представляет собой строку, тип получаемой переменной определяется вторым выражением:
$foo = 1 + “10.5”; // $foo – вещественное (11.5)
$foo = 1 + “-1.3e3”; // $foo – вещественное (-1299)
$foo = 1 + “лис – 1.3e3”; // $foo – целое (1)
$foo = 1 + “лис3”; // $foo – целое (1)
$foo = 1 + “10 Негритят”; // $foo – целое (11)
$foo = 1 + “10 Других негритят” // $foo – целое (11)
$foo = “10.0 негритят” + 1; // $foo – целое (11)
$foo = “10.0 негритят” + 1.0; // $foo – вещественное (11)