PHP и MySQL. Библия программиста
Стив Суэринг, Тим Конверс, Джойс Парк
В книге приведены исчерпывающие сведения по созданию динамических Web-сайтов на основе бесплатных программных средств с открытым исходным кодом (языка PHP, сервера Apache и СУБД MySQL), а также показано, как обеспечить бесперебойную эксплуатацию таких сайтов под управлением операционной системы Windows или Linux. Многочисленные сценарии и готовые программы, представленные в книге, подробно описаны, тщательно прокомментированы и составляют основу практически значимых приложений.
Книга дополняет оперативную документацию, содержит все необходимые справочные данные и рассчитана на широкий круг читателей.
Примените PHP и MySQL для создания надежных веб-приложений!
Приступите к быстрому формированию динамических веб-приложений с применением превосходного инструментального средства сценарной поддержки с открытым исходным кодом, ведущей базы данных с открытым исходным кодом и этого исчерпывающего руководства, которое показывает, как именно решить указанную задачу. Вы изучите PHP и MySQL во всех подробностях, ознакомитесь с преимуществами и недостатками технологий с открытым исходным кодом и откроете для себя источник знаний с рекомендациями и описаниями методов, позволяющими добиться наибольших успехов с помощью мощного сочетания средств разработки. Настоящая книга включает исчерпывающие примеры кода, описания полностью работоспособных приложений и многое другое.
- Установка, разработка, отладка и устранение нарушений в работе новейших версий PHP и MySQL.
- Быстрое усвоение основ PHP, включая синтаксис, типы данных, функции и приемы программирования.
- Ознакомление с языком SQL и основами администрирования данных.
- Овладение развитыми средствами PHP, включая объектно-ориентированное программирование и поддержку сеансов.
- Изучение взаимодействия PHP с другими технологиями баз данных, в том числе Oracle®.
- Усвоение более сложных тем, таких как применение PHP для работы с почтовыми программами и поддержка в сценариях PHP языка XML.
- Освоение практических навыков на примере полностью развернутых реальных приложений, в том числе ознакомление со способами создания игр и другими интересными темами.
Издательство: Диалектика, 2010 г.
ISBN 978-5-8459-1640-2, 978-0-470-38450-3
Количество страниц: 912.
Содержание книги «PHP и MySQL. Библия программиста»:
- 27 Об авторах
- 28 Благодарности
- 29 Введение
- 29 Общее определение языка PHP
- 29 Преимущества языка PHP
- 29 Новое в этом издании
- 29 Новые средства PHP 6
- 30 Краткие сведения об авторах
- 30 Общая направленность книги
- 31 Отсутствие в книге сведений, которые можно найти в оперативном руководстве по языку PHP
- 31 Структура книги
- 31 Часть I. Основные сведения о системе PHP
- 31 Часть II. PHP и MySQL
- 32 Часть III. Расширенные средства и методы
- 32 Часть IV. Взаимодействие PHP с другими системами баз данных
- 32 Часть V. Учебные проекты
- 32 Приложения
- 33 Соглашения, используемые в книге
- 33 Пояснения к пиктограммам
- 35 ЧАСТЬ I. ОСНОВНЫЕ СВЕДЕНИЯ О СИСТЕМЕ PHP
- 37 ГЛАВА 1. Преимущества системы PHP и СУБД MySQL
- 37 Общее определение языка PHP
- 38 Краткое описание СУБД MySQL
- 38 Выбор базовой системы веб-приложений
- 38 Стоимость
- 39 Удобство в использовании
- 40 Использование кода PHP, встроенного в код HTML
- 42 Межплатформенная совместимость
- 42 Стабильность
- 43 Большое количество расширений
- 43 Быстрая реализация новых средств
- 44 Отсутствие закрытых стандартов
- 45 Многочисленное сообщество пользователей
- 46 Резюме
- 47 ГЛАВА 2. Краткий обзор средств поддержки серверных сценариев
- 47 Статические HTML-страницы
- 48 Клиентские технологии
- 51 Средства поддержки серверных сценариев
- 53 Области применения средств поддержки серверных сценариев
- 54 Резюме
- 55 ГЛАВА 3. Подготовка к работе с системой PHP
- 55 Инсталляция системы PHP
- 56 Процедуры инсталляции
- 64 Инструментальные средства разработки
- 65 Рассмотрение предстоящих тем
- 65 Совместимость кода HTML с кодом PHP
- 65 Выход из режима HTML
- 66 Канонический стиль дескрипторов PHP
- 66 Программа, которая шлет миру привет
- 67 Переход в режим PHP и выход из режима PHP
- 68 Включение файлов
- 70 Резюме
- 55 Инсталляция системы PHP
- 71 ГЛАВА 4. Синтаксические конструкции и переменные в языке PHP
- 71 Соблюдение компромисса между удобством пользования и формальной правильностью в языке PHP
- 72 Учет различий между синтаксисом HTML и PHP
- 72 Сходство между синтаксисами PHP и C
- 73 Невосприимчивость языка PHP к пробельным символам
- 73 Разные требования к регистру символов в языке PHP в разных контекстах
- 74 Определение понятия оператора как выражения, оканчивающегося точкой с запятой
- 77 Применение фигурных скобок для выделения блоков
- 77 Комментарии
- 78 Многострочные комментарии в стиле языка C
- 78 Создание однострочных комментариев с помощью символов # и //
- 79 Переменные
- 79 Применение в языке PHP переменных, подобных переменным Perl
- 79 Использование объявлений переменных (точнее, отказ от таких объявлений)
- 80 Присваивание значений переменным
- 80 Повторное присваивание значений переменным
- 80 Переменные без присвоенных им значений
- 82 Область определения переменной
- 83 Отсутствие влияния многократных переключений между режимами PHP и HTML на область определения переменных
- 83 Константы
- 84 Применение в языке PHP системы типов, предоставляющей наибольшие удобства пользователю
- 85 Отсутствие объявлений типов переменных
- 85 Автоматическое преобразование типов
- 85 Типизация с учетом контекста
- 85 Общие сведения о типах
- 86 Простые типы
- 87 Целые числа
- 88 Числа с плавающей точкой двойной точности
- 89 Логические значения
- 91 Значение NULL
- 92 Строки
- 96 Вывод данных
- 96 Ключевые слова echo и print
- 97 Переменные и строки
- 98 Резюме
- 101 ГЛАВА 5. Управляющие структуры и функции PHP
- 102 Логические выражения
- 102 Логические константы
- 103 Логические операции
- 104 Операции сравнения
- 107 Трехместная операция
- 107 Операции ветвления
- 108 Операция if-else
- 111 Операция switch
- 113 Формирование циклов
- 113 Сравнение ограниченных и неограниченных циклов
- 113 Конструкция while
- 114 Конструкция do-while
- 115 Конструкция for
- 116 Примеры циклических конструкций
- 119 Операторы break и continue
- 120 Примечание, касающееся бесконечных циклов
- 121 Дополнительные синтаксические конструкции, применяемые для управления ходом выполнения программы
- 121 Завершение выполнения
- 124 Использование функций
- 124 Сопоставление результатов получения возвращаемых значений и побочных эффектов
- 125 Документация с описанием функций
- 126 Заголовки в документации
- 126 Поиск документации к функциям
- 127 Определение собственных функций
- 127 Общее определение понятия функции
- 127 Синтаксическая структура определения функции
- 128 Пример определения функции
- 129 Сравнение формальных и фактических параметров
- 130 Несовпадение количества параметров
- 131 Функции и область определения переменных
- 133 Сравнение глобальных и локальных переменных
- 134 Статические переменные
- 134 Исключительные ситуации
- 136 Область определения функции
- 136 Конструкции include и require
- 138 Рекурсия
- 140 Резюме
- 102 Логические выражения
- 141 ГЛАВА 6. Передача информации с помощью языка PHP
- 141 Отсутствие поддержки состояния в протоколе HTTP
- 142 Параметры GET
- 145 Лучший способ использования URL в стиле GET
- 147 Параметры POST
- 148 Форматирование переменных формы
- 151 Объединение кода и обработчика формы
- 152 Суперглобальные массивы PHP
- 153 Резюме
- 155 ГЛАВА 7. Общие сведения по обработке строк в языке PHP
- 155 Строки в языке PHP
- 156 Подстановка значений с использованием фигурных скобок
- 157 Символы и индексы символов в строках
- 157 Операции со строками
- 158 Конкатенация и присваивание
- 158 Синтаксическая структура вложенного документа
- 159 Строковые функции
- 160 Проверка строк
- 160 Поиск символов и подстрок
- 162 Сравнение и поиск
- 162 Поиск
- 164 Выборка подстроки
- 165 Функции, предназначенные для оценки подобия строк
- 166 Замена строк
- 168 Функции преобразования регистра букв
- 169 Функции введения управляющих символов
- 170 Функции вывода на внешнее устройство и в строку
- 172 Резюме
- 155 Строки в языке PHP
- 173 ГЛАВА 8. Основные сведения о массивах
- 173 Области использования массивов
- 174 Общее определение понятия массивов PHP
- 176 Создание массивов
- 176 Непосредственное присваивание
- 176 Конструкция array()
- 177 Задание индексов с помощью конструкции array()
- 178 Функции, возвращающие массивы
- 178 Выборка значений
- 178 Выборка с помощью индекса
- 179 Конструкция list()
- 180 Многомерные массивы
- 181 Получение сведений о массивах
- 182 Удаление элементов из массивов
- 183 Итерация
- 183 Поддержка итерации
- 184 Использование итеративных функций
- 185 Предпочтительный метод итеративной выборки – конструкция foreach
- 186 Организация итеративной обработки с помощью функций current() и next()
- 188 Возобновление работы с помощью функции reset()
- 189 Организация выборки в обратном порядке с помощью функций end() и prev()
- 189 Извлечение ключей с помощью функции key()
- 190 Пустые значения и функция each()
- 191 Проход по массиву с помощью функции array_walk()
- 194 Резюме
- 195 ГЛАВА 9. Общие сведения об обработке чисел в языке PHP
- 195 Числовые типы
- 196 Математические операции
- 196 Арифметические операции
- 197 Арифметические операции и типы
- 198 Операции инкремента и декремента
- 199 Операции присваивания
- 199 Операции сравнения
- 200 Правила приоритета и круглые скобки
- 201 Простые математические функции
- 201 Выработка случайных чисел
- 202 Задание начального значения для генератора
- 204 Пример: осуществление случайного выбора
- 206 Резюме
- 207 ГЛАВА 10. Нарушения в работе системы PHP
- 207 Проблемы, связанные с инсталляцией
- 208 Признак нарушения в работе: в окне браузера отображается текст файла
- 208 Признак нарушения в работе – блоки PHP отображаются при их передаче по протоколу HTTP в виде текста или браузер выводит приглашение, согласно которому вам следует сохранить файл
- 208 Признак нарушения в работе – не найден сервер или хост либо страница не могут быть отображены
- 209 Проблемы формирования страницы
- 209 Признак нарушения в работе – полностью пустая страница
- 210 Признак нарушения в работе – в окне веб-браузера обнаруживается код PHP
- 211 Ошибки при загрузке страницы
- 211 Признак нарушения в работе – страница не может быть найдена
- 211 Признак нарушения в работе – сообщение Failed opening [file] for inclusion (Не удалось открыть [файл] для включения)
- 211 Ошибки интерпретации
- 211 Признак нарушения в работе – сообщение об ошибке интерпретации (Parse error)
- 212 Отсутствие точки с запятой
- 212 Отсутствие знаков доллара
- 213 Проблемы, связанные со сменой режима
- 214 Кавычки, не обозначенные управляющими последовательностями
- 215 Незавершенные строки
- 215 Другие причины ошибок интерпретации
- 215 Отсутствующие включаемые файлы
- 216 Признак нарушения в работе – предупреждающее сообщение, касающееся включения файла
- 216 Переменные с незаданными значениями
- 217 Признак нарушения в работе – в строке вывода отсутствует значение переменной
- 217 Признак нарушения в работе – неожиданное обнаружение нулевого значения у числовой переменной
- 217 Причины появления в программе переменных с незаданными значениями
- 219 Проблемы, связанные с использованием функций
- 220 Признак нарушения в работе – сообщение Call to undefined function my_function() (Вызов неопределенной функции my_function())
- 220 Признак нарушения в работе – сообщение Call to undefined function () (Вызов неопределенной функции ())
- 220 Признак нарушения в работе – сообщение Call to undefined function array() (Вызов неопределенной функции array())
- 221 Признак нарушения в работе – сообщение Cannot redeclare my_function() (Не допускается повторное определение функции my_function())
- 221 Признак нарушения в работе – сообщение Wrong parameter count (Неправильное количество параметров)
- 222 Проблемы, связанные с выполнением математических операций
- 222 Признак нарушения в работе – предупреждающее сообщение о делении на нуль
- 222 Признак нарушения в работе – непредвиденные результаты арифметических операций
- 222 Признак нарушения в работе – сообщение, в котором упоминается нечисловое значение NaN (или NAN)
- 224 Тайм-ауты
- 224 Резюме
- 207 Проблемы, связанные с инсталляцией
- 229 ЧАСТЬ II. PHP И MYSQL
- 231 ГЛАВА 11. Общие сведения о базах данных и MySQL
- 231 Общее определение понятия базы данных
- 232 Потребность в использовании базы данных
- 232 Удобство сопровождения и масштабируемость
- 233 Переносимость
- 233 Избавление от громоздких программ
- 233 Поиск
- 234 Базы данных, поддерживаемые в системе PHP
- 234 MySQL – СУБД, которой посвящено основное внимание в книге
- 235 Резюме
- 237 ГЛАВА 12. Инсталляция программного обеспечения MySQL
- 237 Получение программного обеспечения MySQL
- 238 Инсталляция MySQL в операционной системе Linux
- 238 Установка сервера MySQL в дистрибутивах Debian и Ubuntu
- 239 Инсталляция MySQL в операционной системе Microsoft Windows
- 239 Инсталляция MySQL в операционной системе Windows
- 240 Резюме
- 241 ГЛАВА 13. Основные сведения о языке SQL
- 241 Реляционные базы данных и язык SQL
- 242 Стандарты языка SQL
- 243 Основные понятия языка SQL
- 243 Элемент SELECT
- 248 Оператор INSERT
- 249 Оператор UPDATE
- 249 Оператор DELETE
- 249 Проектирование базы данных
- 252 Права доступа и защита
- 253 Определение прав доступа к базе данных
- 254 Хранение паролей базы данных за пределами каталогов веб-сайта
- 255 Общие сведения о создании резервных копий
- 255 Резюме
- 257 ГЛАВА 14. Общие сведения о проектировании и администрировании баз данных
- 258 Основные клиентские команды MySQL
- 259 Администрирование учетных записей MySQL
- 261 Локальный сервер, применяемый для разработки
- 261 Автономный веб-сайт
- 262 Веб-сайт на разделяемом хосте
- 262 Создание резервных копий
- 264 Репликация
- 267 Восстановление
- 268 Утилита myisamchk
- 269 Утилита mysqlcheck
- 269 Резюме
- 271 ГЛАВА 15. Обеспечение взаимодействия системы PHP и СУБД MySQL
- 271 Подключение к базе данных MySQL
- 273 Выполнение запросов MySQL
- 274 Выборка наборов данных
- 277 Получение данных о данных
- 278 Поддержка нескольких соединений
- 280 Реализация средств контроля ошибок
- 282 Создание баз данных MySQL с помощью языка PHP
- 283 Типы данных MySQL
- 285 Функции PHP, предназначенные для работы с базой данных MySQL
- 288 Резюме
- 289 ГЛАВА 16. Выполнение запросов к базе данных
- 290 Таблицы HTML и таблицы базы данных
- 290 Взаимно однозначное отображение
- 291 Пример. Программа отображения содержимого одной таблицы
- 293 Образцы таблиц
- 294 Усовершенствование программы отображения
- 297 Сложные отображения
- 297 Сравнение способов, предусматривающих применение многочисленных запросов или сложных операторов вывода
- 298 Пример использования нескольких запросов
- 300 Пример варианта, в котором используются сложные операторы печати
- 301 Создание образцов таблиц
- 303 Резюме
- 290 Таблицы HTML и таблицы базы данных
- 305 ГЛАВА 17. Совместное применение веб-форм и баз данных
- 305 Формы HTML
- 306 Ввод данных в базу данных с помощью передачи простой формы
- 308 Возврат данных формы в ту же форму
- 315 Редактирование данных с помощью формы HTML
- 315 Элементы TEXT и TEXTAREA
- 317 Элемент CHECKBOX
- 319 Элементы данных RADIO
- 323 Элемент SELECT
- 326 Резюме
- 327 ГЛАВА 18. Повышение эффективности базы данных
- 327 Принципы эффективного использования соединений
- 328 Пример неэффективного кода – применение отдельного соединения в расчете на каждый оператор
- 329 Получение нескольких результирующих наборов с помощью одного соединения
- 330 Устойчивые соединения
- 330 Использование индексов и проектирование таблиц
- 331 Использование индексов
- 334 Область применения индексов
- 335 Другие типы индексов
- 336 Проектирование таблиц
- 337 Принципы успешного применения базы данных
- 337 Применение средств повышения быстродействия, предусмотренных в СУБД
- 338 Пример неэффективной организации программы – выборка данных с помощью цикла, а не условия оператора выборки
- 339 Создание столбцов с информацией о дате и времени
- 341 Поиск последней вставленной строки
- 343 Резюме
- 327 Принципы эффективного использования соединений
- 345 ГЛАВА 19. Нарушения в работе СУБД MySQL
- 345 Предупреждающее сообщение об отсутствии соединения
- 348 Проблемы, связанные с правами доступа
- 349 Кавычки, не обозначенные с помощью управляющих символов
- 351 Операторы SQL с синтаксическими ошибками
- 354 Ошибки в именах переменных
- 354 Неправильное применение запятых
- 354 Строковые параметры, не обозначенные кавычками
- 355 Переменные с неприсвоенными значениями
- 356 Неправильный объем полученных данных
- 356 Конкретные функции SQL
- 356 Сравнение функций mysql_affected_rows() и mysql_num_rows()
- 357 Функция mysql_result()
- 358 Функция OCI_Fetch()
- 358 Отладка и проверка качества программного обеспечения
- 359 Резюме
- 361 ЧАСТЬ III. РАСШИРЕННЫЕ СРЕДСТВА И МЕТОДЫ
- 363 ГЛАВА 20. Вводное описание объектно-ориентированных средств PHP
- 364 Общее определение объектно-ориентированного программирования
- 364 Общий замысел объектно-ориентированного программирования
- 366 Развитие темы: объекты как типы данных
- 367 Развитие темы: наследование
- 368 Развитие темы: инкапсуляция
- 368 Развитие темы: конструкторы и деструкторы
- 369 Терминология
- 371 Основные конструкции объектно-ориентированного программирования в языке PHP
- 371 Определение классов
- 372 Доступ к переменным экземпляра
- 372 Создание экземпляров
- 373 Функции-конструкторы
- 373 Наследование
- 375 Переопределение функции
- 375 Использование множественных определений подклассов
- 377 Модификация и присваивание объектов
- 377 Принципы использования области определения
- 378 Дополнительные средства объектно-ориентированного программирования
- 378 Открытые, закрытые и защищенные переменные экземпляра и методы
- 380 Интерфейсы
- 380 Константы
- 380 Абстрактные классы
- 381 Моделирование функций класса
- 382 Вызов методов родительского класса
- 383 Автоматический вызов конструкторов родительских классов
- 383 Моделирование перегрузки методов
- 384 Сериализация
- 387 Функции самодиагностики
- 387 Краткий обзор функций
- 390 Пример: генеалогия классов
- 392 Пример: установление соответствия между переменными и столбцами базы данных
- 394 Пример: обобщенные методы проверки
- 397 Расширенный пример: формы HTML
- 403 Нарушения в работе и устранение таких нарушений
- 403 Признак нарушения в работе: переменная экземпляра не получает значения в методе
- 403 Признак нарушения в работе: сообщение Parse error, expecting T_VARIABLE
- 403 Рекомендуемый стиль объектно-ориентированного программирования на языке PHP
- 404 Соглашения об именовании
- 404 Функции доступа
- 405 Разработка классов с учетом наследования
- 406 Резюме
- 364 Общее определение объектно-ориентированного программирования
- 407 ГЛАВА 21. Расширенные функции для работы с массивами
- 407 Средства преобразования массивов
- 408 Выборка ключей и значений
- 409 Зеркальное отображение, обращение и случайное перемешивание
- 410 Слияние, дополнение, вырезка и вставка элементов массивов
- 413 Стеки и очереди
- 415 Прямое и обратное преобразование данных, представленных с помощью переменных и массивов
- 416 Сортировка
- 418 Функции вывода, предназначенные для визуального представления массивов
- 419 Резюме
- 407 Средства преобразования массивов
- 421 ГЛАВА 22. Общие сведения о регулярных выражениях
- 421 Функции синтаксического анализа и разбиения на лексемы
- 424 Область применения регулярных выражений
- 425 Использование регулярных выражений в языке PHP
- 425 Примеры применения регулярных выражений в стиле POSIX
- 427 Функции для работы с регулярными выражениями
- 428 Регулярные выражения, совместимые с языком Perl
- 432 Пример: простая программа извлечения ссылок
- 432 Основное регулярное выражение
- 434 Использование данного выражения в функции
- 436 Усовершенствованные строковые функции
- 437 Функции для работы с кодом HTML
- 437 Хэширование данных с помощью алгоритма MD5
- 439 Строки, рассматриваемые как множества символов
- 440 Функции, предназначенные для оценки подобия строк
- 441 Резюме
- 443 ГЛАВА 23. Работа с файловой системой
- 444 Общие сведения об использовании прав доступа к файлам в языке PHP
- 444 Функции чтения и записи файлов
- 445 Операция открытия файла
- 449 Операции чтения файла
- 450 Разработка сценариев загрузки файлов с помощью функции fpassthru()
- 451 Операции записи файла
- 453 Операции закрытия файла
- 453 Функции для работы с файловой системой и каталогами
- 454 Функция feof
- 454 Функция file_exists
- 454 Функция filesize
- 457 Сетевые функции
- 457 Функции ведения системного журнала
- 457 Функции DNS
- 457 Функции для работы с сокетами
- 458 Функции для работы со значениями даты и времени
- 459 Ситуация, в которой не известны ни дата, ни время
- 460 Ситуация, в которой дата, время или временная отметка уже определены
- 461 Функции преобразования дат, относящихся к разным календарным системам
- 462 Резюме
- 463 ГЛАВА 24. Работа с cookie-файлами и сеансами
- 463 Общее назначение сеанса
- 464 Проблема поддержки сеанса
- 464 Необходимость в использовании средств поддержки сеансов
- 465 Общие принципы решения задачи поддержки сеансов
- 465 Использование IP-адреса
- 465 Использование скрытых переменных
- 466 Сеансы, основанные на использовании cookie-файлов и создаваемые пользователем
- 467 Способы организации сеансов в языке PHP
- 468 Передача интерпретатору PHP информации о сеансе
- 468 Распространение переменных сеанса
- 470 Общие сведения о том, где фактически хранятся данные сеанса
- 471 Пример кода сеанса
- 474 Функции поддержки сеанса
- 477 Проблемы настройки конфигурации
- 478 Cookie-файлы
- 479 Использование функции setcookie()
- 480 Примеры
- 481 Удаление cookie-файлов
- 482 Чтение cookie-файлов
- 483 Нарушения в работе, возникающие при использовании cookie-файлов
- 485 Передача заголовков HTTP
- 486 Пример использования заголовка для перенаправления
- 486 Пример использования заголовка для аутентификации по протоколу HTTP
- 488 Нарушения в работе, связанные с использованием заголовков
- 488 Нарушения в работе и поиск неисправностей
- 489 Резюме
- 463 Общее назначение сеанса
- 491 ГЛАВА 25. Общие сведения о типах данных PHP
- 491 Основные сведения о типах
- 492 Ресурсы
- 492 Общее определение понятия ресурса
- 493 Способы обработки ресурсов
- 493 Проверка типа
- 494 Присваивание и приведение типа
- 499 Целочисленное переполнение
- 500 Определение наибольшего целого числа
- 500 Резюме
- 501 ГЛАВА 26. Общие сведения об усовершенствованных функциях PHP
- 501 Переменное количество параметров
- 502 Параметры, заданные по умолчанию
- 502 Использование массивов для замены многочисленных параметров
- 503 Использование многочисленных параметров в версии PHP4 и в следующих версиях
- 505 Вызов по значению
- 506 Вызов по ссылке
- 507 Переменные имена функций
- 508 Более сложный пример
- 511 Резюме
- 501 Переменное количество параметров
- 513 ГЛАВА 27. Выполнение математических вычислений в PHP
- 513 Математические константы
- 514 Проверка правильности представления чисел
- 515 Преобразование систем счисления
- 519 Экспоненты и логарифмы
- 519 Тригонометрические расчеты
- 523 Вычисление с произвольной точностью (с использованием функций BC)
- 524 Пример вычисления с произвольной точностью
- 525 Преобразование кода в код, допускающий вычисление с произвольной точностью
- 527 Резюме
- 529 ГЛАВА 28. Защита PHP
- 530 Возможные нападения
- 530 Компрометация сайта
- 532 Доступ к исходному коду
- 534 Чтение произвольно выбранных файлов
- 536 Вызов на выполнение произвольных программ
- 538 Вирусы и другие электронные вредители
- 538 Информация к размышлению – защита веб-сайта
- 540 Резюме
- 530 Возможные нападения
- 541 ГЛАВА 29. Общие сведения о настройке конфигурации PHP
- 541 Просмотр значений переменных среды
- 542 Общее представление о настройке конфигурации PHP
- 543 Опции, применяемые на этапе компиляции
- 548 Опции поддержки CGI, применяемые на этапе компиляции
- 548 Файлы конфигурации Apache
- 551 Файл php.ini
- 554 Повышение производительности сценариев PHP
- 557 Резюме
- 559 ГЛАВА 30. Обработка исключений с помощью средств PHP
- 559 Обработка ошибок в PHP
- 560 Ошибки и исключительные ситуации
- 561 Класс Exception
- 562 Блоки try/catch
- 563 Активизация исключительной ситуации
- 563 Определение собственных подклассов Exception
- 565 Ограничения средств обработки исключительных ситуаций языка PHP
- 565 Другие способы обработки ошибок
- 566 Ошибки, обнаруживаемые самим интерпретатором PHP
- 568 Определение обработчика ошибок
- 568 Инициирование пользовательской ошибки
- 569 Ведение журнала и отладка
- 571 Резюме
- 559 Обработка ошибок в PHP
- 573 ГЛАВА 31. Отладка программ PHP
- 574 Общие стратегии поиска неисправностей
- 574 Внесение изменений только в одном месте
- 574 Ограничение области проявления проблемы
- 574 Упрощение и последующее усложнение
- 575 Поиск в первую очередь наиболее очевидных причин нарушений
- 575 Документирование принятых решений
- 575 Повторная проверка после исправления ошибок
- 575 Общая классификация ошибок
- 576 Ошибки на этапе компиляции
- 576 Ошибки этапа выполнения
- 576 Логические ошибки
- 576 Использование журналов веб-сервера
- 577 Сервер Apache
- 579 Сервер IIS
- 579 Средства формирования сообщений об ошибках и ведения журнала интерпретатора PHP
- 579 Формирование сообщений об ошибках
- 580 Регистрация ошибок
- 580 Определение категории ошибок, подлежащих выводу на экран или записи в журнал
- 581 Функции формирования сообщений об ошибках
- 581 Диагностические операторы вывода
- 582 Использование функции var_dump()
- 582 Использование функции syslog()
- 584 Регистрация сообщений в произвольно выбранном файле
- 584 Использование функции error_log()
- 585 Резюме
- 574 Общие стратегии поиска неисправностей
- 587 ГЛАВА 32. Общие сведения о применении стилей в PHP
- 587 Общее назначение стилистических правил
- 588 Удобство чтения
- 589 Комментарии
- 590 Программа PHPDoc
- 591 Имена файлов и переменных
- 593 Единообразие стиля
- 593 Удобство сопровождения
- 594 Предотвращение использования магических чисел
- 594 Функции библиотеки gd
- 595 Включаемые файлы
- 596 Объектные оболочки
- 596 Принятие решения об использовании средств управления версиями
- 596 Надежность
- 597 Недоступность внешней службы
- 598 Неправильное использование типов переменных
- 598 Эффективность и краткость
- 598 Эффективность, зависящая от используемого алгоритма
- 599 Рекомендации по повышению эффективности
- 600 Оборотная сторона краткости
- 601 Рекомендации по написанию кратких программ
- 604 Преимущества и недостатки использования режимов HTML и PHP
- 604 Стиль с минимальным использованием кода PHP
- 605 Стиль с максимальным использованием кода PHP
- 606 Стиль с умеренным использованием кода PHP
- 607 Стиль с вложенными документами
- 608 Отделение средств обработки данных от средств вывода данных
- 608 Функции библиотеки gd
- 608 Применение каскадных таблиц стилей в PHP
- 609 Обеспечение единообразия внешнего вида страниц с использованием шаблонов
- 611 Резюме
- 613 ЧАСТЬ IV. ВЗАИМОДЕЙСТВИЕ PHP С ДРУГИМИ СИСТЕМАМИ БАЗ ДАННЫХ
- 615 ГЛАВА 33. Совместное применение интерпретатора PHP и СУБД PostgreSQL
- 615 Преимущества и недостатки СУБД PostgreSQL
- 617 Основные особенности объектно-реляционных СУБД
- 618 Создание базы данных PostgreSQL
- 619 Рассмотрение конкретных примеров
- 621 Обеспечение взаимодействия интерпретатора PHP и СУБД PostgreSQL
- 622 База данных мультфильмов
- 629 Резюме
- 631 ГЛАВА 34. Совместное использование пакета PEAR DB и системы PHP
- 632 Определения основных понятий PEAR DB
- 632 Имя источника данных (DSN)
- 634 Соединение
- 634 Запрос
- 634 Выборка строки
- 635 Разъединение
- 635 Законченный пример
- 637 Функции пакета PEAR DB
- 637 Методы класса DB
- 637 Методы класса DB_Common
- 638 Методы класса DB_Result
- 638 Резюме
- 632 Определения основных понятий PEAR DB
- 639 ГЛАВА 35. Общий обзор СУБД Oracle
- 639 Области применения СУБД Oracle
- 640 Обработка финансовой информации
- 641 Другие операции параллельной обработки данных
- 641 Огромные наборы данных
- 641 Применение большого количества стереотипных операций записи или обработки данных
- 642 Триггеры
- 642 Правовая ответственность
- 643 Общий итог – прогноз на два года
- 643 СУБД Oracle и структура программного обеспечения для веб
- 643 Включение в состав коллектива специалистов узкого профиля
- 644 Базы данных, совместно используемые для разработки
- 644 Ограничения в части изменения схемы
- 644 Инструментальные средства (или их отсутствие)
- 645 Репликация и возобновление нормальной работы после сбоя
- 645 Кэширование данных
- 646 Использование функций OCI8
- 646 Применение в строках символов переключения режима
- 647 Синтаксический анализ и выполнение операторов
- 647 Передача сообщений об ошибках
- 647 Управление памятью
- 648 Передача требования по использованию неопределенных значений
- 648 Выборка всего набора данных
- 648 Применение исключительно прописных букв
- 648 Поддержка транзакций
- 649 Хранимые процедуры и курсоры
- 651 Проект. Программа редактирования отдельных записей
- 659 Проект. Программа редактирования группы записей о товарах
- 666 Резюме
- 639 Области применения СУБД Oracle
- 669 ГЛАВА 36. Введение в SQLite
- 669 Введение в SQLite
- 670 Использование функций, относящихся к SQLite
- 670 Создание баз данных
- 670 Выполнение запросов
- 674 Дополнительные сведения о СУБД SQLite
- 674 Резюме
- 675 ЧАСТЬ V. ВЗАИМОДЕЙСТВИЕ PHP С ДРУГИМИ СИСТЕМАМИ
- 677 ГЛАВА 37. Отправка электронной почты с помощью языка PHP
- 677 Отправка электронной почты с помощью языка PHP
- 677 Настройка конфигурации Windows
- 678 Настройка конфигурации Linux
- 678 Функция mail
- 680 Отправка почты из формы
- 682 Резюме
- 677 Отправка электронной почты с помощью языка PHP
- 683 ГЛАВА 38. Совместное использование средств языков PHP и Java
- 684 Общие сведения о языке PHP для программистов, работающих на языке Java
- 684 Сходства
- 685 Различия
- 686 Сравнение технологий JSP и PHP
- 687 Совместное использование средств языков PHP и Java
- 687 Интеграция с использованием модуля SAPI сервлетов Java
- 688 Расширение Java
- 690 Объект Java
- 691 Ошибки и исключительные ситуации
- 692 Потенциальные нарушения в работе
- 693 Безграничные возможности
- 694 Резюме
- 684 Общие сведения о языке PHP для программистов, работающих на языке Java
- 695 ГЛАВА 39. Совместное использование языков PHP и JavaScript
- 695 Вывод кода JavaScript с помощью сценария PHP
- 696 Несовместимые объекты
- 697 Широкие возможности вывода данных в языке PHP
- 698 Области применения языка JavaScript
- 698 Резервирование функциональных средств кода JavaScript с помощью кода PHP
- 700 Сравнение методов статического и динамического формирования кода JavaScript
- 701 Динамически сгенерированные формы
- 706 Передача данных в обратном направлении, из кода JavaScript в код PHP
- 709 Резюме
- 695 Вывод кода JavaScript с помощью сценария PHP
- 711 ГЛАВА 40. Совместное применение языков PHP и XML
- 711 Общее определение технологии XML
- 715 Практическое применение языка XML
- 716 Документы и определения типов документов
- 718 Структура определения DTD
- 720 Синтаксические анализаторы с проверкой допустимости и без проверки допустимости
- 721 Сравнение API-интерфейсов SAX и DOM
- 722 API-интерфейс DOM
- 722 Применение DOM XML
- 723 Функции DOM
- 724 API-интерфейс SAX
- 725 Применение API-интерфейса SAX
- 726 Опции настройки конфигурации SAX
- 728 Функции API-интерфейса SAX
- 729 API-интерфейс SimpleXML
- 729 Использование API-интерфейса SimpleXML
- 730 Функции API-интерфейса SimpleXML
- 730 Типичное приложение XML
- 735 Возможные нарушения в работе и способы их устранения
- 736 Резюме
- 737 ГЛАВА 41. Создание и применение веб-служб на основе PHP
- 737 Конец того программирования, которое мы знаем
- 738 Грустная правда о перемещении данных
- 739 Основные понятия веб-служб
- 741 Технологии REST, XML-RPC, SOAP, .NET
- 741 Стандарт REST
- 743 Стандарт SOAP
- 744 Современные проблемы веб-служб
- 744 Значительные потребности в ресурсах
- 744 Возможное возрастание нагрузки
- 744 Подготовка стандартов
- 745 Переход от игры в прятки к целенаправленному поиску
- 745 Решение проблем оплаты услуг веб-служб
- 746 Проект. Клиент REST
- 749 Резюме
- 737 Конец того программирования, которое мы знаем
- 751 ГЛАВА 42. Создание графики с помощью средств PHP
- 751 Возможности графических средств PHP
- 752 Графика HTML
- 755 Использование библиотеки gd для создания изображений
- 756 Общее описание библиотеки gd
- 757 Форматы изображений и браузеры
- 758 Инсталляция
- 759 Основные принципы работы с библиотекой gd
- 762 Функции библиотеки gd
- 763 Поддержка средств передачи изображений в протоколе HTTP
- 765 Пример. Фрактальные изображения
- 772 Возможные нарушения в работе и способы их устранения
- 772 Признак нарушения в работе – полностью пустое изображение
- 772 Признак нарушения в работе – сообщение Headers already sent
- 773 Признак нарушения в работе – изображение, имеющее неправильный формат
- 774 Резюме
- 775 ЧАСТЬ VI. УЧЕБНЫЕ ПРОЕКТЫ
- 777 ГЛАВА 43. Разработка блога с помощью PHP
- 777 Общее назначение сайтов для ведения блогов
- 778 Простейший блог
- 783 Ввод в действие инструментального средства редактирования по протоколу HTML
- 785 Предлагаемые изменения и дополнения
- 786 Резюме
- 787 ГЛАВА 44. Несложная игра
- 787 Понятия, рассматриваемые в данной главе
- 788 Описание игры
- 788 Версия игры, рассматриваемая в данной книге
- 789 Примеры экранов
- 789 Правила игры
- 791 Возможность предварительно опробовать силы в игре
- 791 Описание приложения
- 792 Файлы кода
- 818 Создание базы данных
- 822 Общие проектные требования
- 822 Разделение функционального кода и кода, предназначенного для формирования внешнего представления
- 822 Постоянное хранение данных
- 823 Обработка исключительных ситуаций
- 823 Резюме
- 825 ГЛАВА 45. Визуализация данных с помощью диаграмм Венна
- 825 Масштабированные диаграммы Венна
- 826 Постановка задачи
- 827 Общее описание кода
- 827 Необходимые сведения из тригонометрии
- 831 Подготовка к выводу на дисплей
- 831 Упрощающее предположение
- 831 Определение размеров и масштабов
- 837 Вывод на экран
- 838 Визуальное представление данных из базы данных
- 842 Проверка работы приложения
- 843 Расширения
- 845 Резюме
- 825 Масштабированные диаграммы Венна
- 847 ПРИЛОЖЕНИЕ А. Краткие сведения о языке PHP для программистов, работающих на языке C
- 847 Сходства
- 848 Синтаксис
- 848 Операции
- 848 Управляющие структуры
- 848 Совпадающие имена функций
- 848 Различия
- 848 Непривычные знаки доллара
- 849 Типы
- 849 Преобразование типов
- 849 Массивы
- 849 Отсутствие такого типа данных, как структура
- 849 Объекты
- 850 Отсутствие указателей
- 850 Отсутствие прототипов
- 850 Управление памятью
- 850 Компиляция и связывание
- 850 Отсутствие строгого контроля ошибок
- 851 Руководство по изучению данной книги
- 852 Дополнительное поощрение – возможность сразу же приступить к изучению кода
- 847 Сходства
- 853 ПРИЛОЖЕНИЕ Б. Краткие сведения о языке PHP для программистов, работающих на языке Perl
- 853 Сходства
- 854 Компилируемые языки сценариев
- 854 Синтаксис
- 854 Переменные, обозначаемые знаком доллара
- 854 Отсутствие объявлений переменных
- 854 Свободная типизация переменных
- 855 Строковые данные и подстановка значений переменных
- 855 Различия
- 855 Применение операторов PHP в виде кода, внедренного в код HTML
- 855 Отсутствие переменных, отмечаемых знаком @ или %
- 856 Сравнение простых массивов с хэш-массивами
- 856 Задание параметров функций
- 857 Области определения переменных в функциях
- 857 Отсутствие системы модулей как таковой
- 857 Применение конструкций break и continue вместо конструкций next и last
- 857 Отсутствие конструкции elsif
- 858 Дополнительное количество способов комментирования
- 858 Регулярные выражения
- 858 Дополнительные рекомендации
- 858 Отсутствие аналогов директив use strict и use vars
- 859 Наличие репозитария, сравнимого с архивом CPAN
- 859 Руководство по изучению данной книги
- 853 Сходства
- 861 ПРИЛОЖЕНИЕ В. Краткие сведения о языке PHP для программистов, использующих язык HTML
- 861 Факторы, способствующие изучению языка PHP
- 861 Предварительное знакомство с языком HTML
- 862 Удобство освоения PHP в качестве первого языка программирования
- 863 Все более широкое использование готового кода в разработке приложений для веб
- 863 Факторы, препятствующие изучению языка PHP
- 863 Сложности, возникающие при изучении программирования
- 863 Дополнительные сложности, связанные с использованием вспомогательных серверов
- 864 Выбор основных направлений обучения
- 864 Чтение кода, подготовленного другими разработчиками
- 865 Решение актуальных задач
- 865 Программирование как образ мышления
- 867 Изучение языка SQL и других дополнительных программных средств
- 867 Внесение незначительных изменений в готовые приложения PHP
- 867 Важность отладки
- 868 Нерекомендуемые программные средства
- 868 Стиль с максимальным использованием кода PHP
- 868 Программирование крупных приложений с нуля
- 868 Дополнительные рекомендации
- 869 Чтение книг по программированию на языке C
- 869 Стиль с минимальным использованием языка PHP
- 870 Использование инструментальных средств, подходящих для выполнения конкретной работы
- 861 Факторы, способствующие изучению языка PHP
- 871 ПРИЛОЖЕНИЕ Г. Информационные ресурсы PHP
- 871 Веб-сайт PHP
- 873 Списки рассылки PHP
- 873 Присоединение к списку рассылки
- 874 Списки рассылки для пользователей и разработчиков
- 875 Обычные и резюмированные варианты
- 876 Правила оформления вопросов для передачи в список рассылки
- 879 Другие веб-сайты PHP
- 879 Основная машина поддержки сценариев и инструментальные средства
- 880 База знаний о системе PHP
- 881 Статьи и учебники
- 882 Образцы кода PHP
- 883 Основные проекты PHP
- 885 ПРИЛОЖЕНИЕ Д. Репозитарий PEAR
- 886 Общее описание репозитария PEAR
- 887 Система пакетов PEAR
- 887 Примеры пакетов PEAR
- 888 Принципы работы базы данных PEAR
- 888 Программа Package Manager
- 890 Использование программы Package Manager
- 891 Базовые классы PHP (PFC)
- 892 Библиотека кода расширений PHP (PECL)
- 892 Стиль кодирования PEAR
- 893 Применение отступов, пробельных символов и ограничение длины строки
- 894 Форматирование управляющих структур
- 895 Форматирование определений функций и вызовов функций
- 896 Резюме
- 897 Предметный указатель
Инструкция как скачать книгу Стив Суэринг, Тим Конверс, Джойс Парк: PHP и MySQL. Библия программиста в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.