Оглавление Вступительное слово 3
Об учебном центре 4
Введение 7
Для кого написана эта книга 7
Как работать с книгой 8
Источники информации 8
Благодарности 9
ЧАСТЬ I. ОСНОВЫ ЯЗЫКА РНР 11
Глава 1. Основы клиент-серверного взаимодействия в Интернете 13
Необходимые определения 14
IP-адрес 14
Протокол 15
Порт 15
Протокол HTTP 16
Запрос клиента 16
Ответ сервера 18
CGI 19
Глава 2. Установка Web-сервера Apache и модуля PHP 5
в Windows 21
Установка сервера Apache 21
Директивы конфигурации Apache 24
Установка модуля PHP 26
Глава 3. Создание сценариев на PHP. Типы данных, переменные, операторы 30
Редакторы для работы с PHP 30
Базовый синтаксис 30
Типы данных 32
Комментарии 33
Выражения и операторы 34
Константы 34
Переменные 35
Ссылки 37
Глава 4. Операции и управляющие конструкции 39
Арифметические операции 39
Поразрядные операции 41
Оператор подавления ошибки 41
Операции сравнения 42
Логические операции PHP 43
Преобразование типов 43
Тернарная операция 44
Управляющие конструкции 44
Условные конструкции 44
Циклы 49
Глава 5. Функции и повторное использование кода 52
Встроенные функции 52
Функции для работы с переменными 53
Встроенные функции для работы с датой и временем 55
Определение и вызов пользовательских функций 60
Передача параметров функции по ссылке 61
Функции и область действия переменной 62
Статические переменные 63
Повторное использование кода 64
Глава 6. Массивы 65
Ассоциативные массивы 66
Многомерные массивы 68
Функции для работы с массивами 69
Автоглобальные массивы 72
Глава 7. Передача данных через HTML-формы 74
Теги формы 74
Тег 74
Тег 76
Тег 77
Работа с формами в PHP 77
Передача данных из полей checkbox 80
Глава 8. Работа с файлами 81
Открытие файла 81
Права доступа к файлу 82
Запись в файл 84
Закрытие файла 84
Считывание данных из файла 85
Блокировка файла 87
Функции для работы с каталогами 88
Глава 9. Строковые функции и регулярные выражения 89
Строки в PHP 89
Преобразование данных формы 89
Форматирование строк для представления на экране 90
Форматирование строк для печати 91
Функции изменения регистра строки и их действие 92
Объединение и разделение строк с помощью строковых функций 92
Поиск и замена подстрок 93
Регулярные выражения 96
Глава 10. Графика в PHP 5 102
Графические форматы данных 102
JPEG 102
GIF 102
PNG 103
Подключение графической библиотеки 103
Создание изображений 104
Глава 11. Cookies и управление сессиями 110
Cookie 110
Счетчик посещений 112
Сессии 114
Глава 12. Загрузка файлов на сервер 117
Глава 13. Объектная модель в PHP 5 120
Классы и объекты 120
Конструктор класса 121
Создание объекта 122
Деструктор объекта 123
Вложенные объекты 124
Копирование и клонирование объектов 124
Наследование 126
Финальные классы 127
Доступ к свойствам и методам класса 130
Статические свойства и методы класса 133
Абстрактные классы и интерфейсы 134
Константа класса 135
Ключевое слово instanceof 136
Обработка ошибок 136
Автозагрузка класса 138
Итераторы: просмотр всех общедоступных свойств объекта 139
ЧАСТЬ II. PHP и MYSQL 141
Глава 14. Реляционные базы данных 143
Таблицы, записи, столбцы 144
Отношения и ключи 145
Глава 15. Установка сервера MySQL 5 в Windows 147
Глава 16. Создание баз данных 152
Типы данных MySQL 152
Строковые типы 152
Форматы записи даты и времени 153
Хранение числовых значений 154
Работа с клиентской программой mysql 155
Создание базы данных taxi 156
Запись данных в таблицы 160
Клиентские утилиты 161
Утилита командной строки mysql 161
Утилита mysqldump 164
Утилита mysqlimport 166
Графический интерфейс phpMyAdmin 166
Глава 17. Запросы к базе данных 169
Команда SELECT 169
Запросы с указанием критерия отбора данных 171
Группировка данных и агрегатные функции 173
Запросы к двум и более таблицам 175
Команды обновления и удаления данных в таблицах 176
Изменение структуры таблицы 177
Создание индексов 178
Вложенные запросы 179
Табличные вложенные запросы 179
Глава 18. Обеспечение безопасности данных 181
Привилегии в MySQL 181
Транзакции 185
Глава 19. Расширение mysqli для работы с базами данных 188
Процедурный стиль создания скрипта для работы с MySQL 189
Подключение к серверу и выбор базы данных 189
Запросы к базе данных 190
Объектный подход 193
Класс mysqli 193
Класс mysqli_result 194
Класс mysqli_stmt 196
ЧАСТЬ III. РАЗРАБОТКА ПРИЛОЖЕНИЯ 199
Глава 20. Построение сайта электронной коммерции 201
Задача 201
Структура сайта 201
Файлы приложения электронной коммерции 202
Глава 21. Реализация базы данных 205
Схема базы данных 205
Создание и заполнение базы данных 206
Примеры запросов к базе данных 210
Глава 22. Объявление классов 213
Класс hat_foot 213
Класс baza 214
Класс country 216
Класс city 218
Класс hotel 218
Класс tour 220
Класс customer 222
Класс order 226
Глава 23. Сценарии сайта 230
Домашняя страница сайта 230
Выбор и заказ тура 232
Страницы описаний стран, городов и отелей 236
Администрирование сайта 239
ЧАСТЬ IV. XML и PHP 243
Глава 24. Язык XML 245
Синтаксис XML. Правильно оформленный XML 246
XML-декларация 248
Кодировка в XML 248
Атрибуты 249
Комментарии 249
Процессуальная инструкция 249
Пространства имен XML 250
Особые символы 252
CDATA 252
Глава 25. Преобразование XML-документов с помощью стилевых таблиц XSL 254
Таблицы стилей XSL 255
Шаблоны в таблицах стилей XSL 257
Передача содержимого элемента в выходной документ 258
Создание цикла с помощью элемента 259
Сортировка данных в выходном документе 260
XSLT (eXtensible Stylesheet Language for Transformations) 263
Древовидная структура XML-документа 263
Шаблоны в таблицах стилей XSLT 264
Использование шаблонов в таблице стилей 265
Атрибут select 267
Вычисление значения узла с помощью элемента xsl:value-of 268
Соответствие именам элементов 268
Соответствие дочерним узлам с помощью / 268
Соответствие потомкам с помощью // 269
Соответствие атрибутам с помощью @ 270
Добавление атрибутов в выходной поток с помощью xsl:attribute 271
Атрибут mode — средство форматирования в выходном документе 272
Глава 26. Применение XPath при обработке XML-документов 274
Выделение ветвей 275
Выделение нескольких путей 276
Выделение атрибутов 276
Оси и проверки узлов 277
Сокращенная запись путей 279
Глава 27. Объектная модель документа 283
Дерево документа 283
Объект Node 285
Объект NodeList 286
Объект Document 286
Объект Element 287
Объект Attr 288
Глава 28. Новостная лента RSS 290
Глава 29. Создание и анализ XML-документов средствами PHP. SAX-парсер 294
SAX 295
Создание парсера 295
Определение функций-обработчиков событий 296
Чтение и обработка XML-документа 297
Функции обработки текстового содержимого узла и обработки ошибок 298
SAX-парсер новостной ленты 299
Глава 30. Расширение SimpleXML в PHP 5 302
Глава 31. Расширение DOM в PHP 5 308
Применение DOM-функций для создания, модификации и чтения данных XML-документов 309
Расширение XSL в PHP 5 314
Приложение. Описание компакт-диска 315
Предметный указатель 317