- •Федеральное агентство по образованию
- •Таганрогский государственный радиотехнический университет
- •Программирование в Интернет
- •Лекция 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)
Взаимодействие html и php
Рассмотренные ранее программы состоят только из команд РНР. Однако можно создать смешанный документ, просто добавив HTML-текст перед открывающим и после закрывающего тэгов:
<html> <head><title> Листинг 2. </title> </head>
<body>
<b>
<?php
print "Привет от PHP!";
?></b>
</body>
</html>
Интерпретатор игнорирует все, что находится вне тэгов РНР. Если отобразить этот документ на экране броузера, то на экране появятся слова “Привет от PHP!”, выделенные полужирным шрифтом. Если посмотреть исходный текст этой страницы, он будет выглядеть точно так же, как обычный HTML-документ.
В документ можно включать столько блоков PHP-команд, сколько потребуется для формирования Web-страницы. Несколько блоков команд в одном документе образуют единую программу. Это означает, что всё, что определено в первом блоке (переменные, функции или классы), будет доступно программе в следующих блоках.
Лекция 3. Типы данных php
На данный момент PHP-машина поддерживает восемь элементарных типов данных
Четыре скалярных типа:
логические значения;
целые числа;
вещественные числа в формате с плавающей запятой;
строки.
Два сложных типа:
массивы;
объекты.
Два специальных типа:
ресурсы;
null.
В отличие от типизированных языков, таких как Си или Паскаль, в РНР тип переменной не задается программистом. Как правило, PHP-машина относит переменную к тому или иному типу во время выполнения программы. Конкретный тип переменной определяется вычислительным контекстом (в этом отношении РНР очень похож на Perl).
Комментарии
Поскольку PHP используется различными разработчиками, которые привыкли работать с различными языками, в ходе эволюции в PHP появилась возможность использования комментариев в стиле Си, Си++ и Perl. Например:
<?php
/* Многострочный
комментарий */
// Однострочный комментарий
# Комментарий в стиле Perl
?>
Замечания. Необходимо помнить, что однострочные комментарии на самом деле распространяют свое действие до конца строки или текущего вычислительного блока PHP-кода.
Так же, необходимо избегать вложения многострочных комментариев в стиле Си (/* */).
Логические переменные
Логическая переменная обозначает, истинно или ложно некоторое высказывание (выражение). Поэтому она может принимать только два значения: true (истина) или false (ложь).
Синтаксис логических переменных
Задание литерала логической переменной или константы осуществляется с помощью ключевых слов TRUE и FALSE. Регистр используемых символов роли не играет.
$foo = True; // присваивает переменной $foo значение TRUE
Довольно часто логические значения используются как результат вычисления некоторых операторов, передаваемый затем в управляющие структуры:
if ($action == "show_version") // == представляет собой оператор,
// возвращающий логическое значение
{
echo “Текущая версия программы – 1.23R”;
}
// А это несколько избыточная конструкция:
if ($show_separators == true)
{
echo “<hr>\n”;
}
Приведение значений к логическому типу
Чтобы явным образом привести значение некоторой переменной к логическому значению, используется идентификатор типа (bool) или (boolean). Однако в большинстве случаев делать этого не нужно, поскольку значение конвертируется автоматически, если оператор, функция или управляющая структура требуют использования аргумента логического типа.
При приведении к логическому типу перечисленные ниже значения будут интерпретированы как «ложь» (FALSE):
логическая константа FALSE;
целочисленный нуль – 0;
вещественный нуль – 0,0;
пустая строка «», а также строка «0»;
массив без элементов;
объект без элементов;
специальное значение NULL.
Все прочие значения при приведении к логическому типу интерпретируются как TRUE. (-1 считается равным TRUE так же, как и все прочие числа, отличные от нуля.)