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 Резюме
  • 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 Резюме
  • 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 Резюме
  • 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 Резюме
  • 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 Резюме
  • 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 Резюме
  • 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 Резюме
  • 407 ГЛАВА 21. Расширенные функции для работы с массивами
    • 407 Средства преобразования массивов
      • 408 Выборка ключей и значений
      • 409 Зеркальное отображение, обращение и случайное перемешивание
      • 410 Слияние, дополнение, вырезка и вставка элементов массивов
    • 413 Стеки и очереди
    • 415 Прямое и обратное преобразование данных, представленных с помощью переменных и массивов
    • 416 Сортировка
    • 418 Функции вывода, предназначенные для визуального представления массивов
    • 419 Резюме
  • 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 Резюме
  • 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 Резюме
  • 513 ГЛАВА 27. Выполнение математических вычислений в PHP
    • 513 Математические константы
    • 514 Проверка правильности представления чисел
    • 515 Преобразование систем счисления
    • 519 Экспоненты и логарифмы
    • 519 Тригонометрические расчеты
    • 523 Вычисление с произвольной точностью (с использованием функций BC)
      • 524 Пример вычисления с произвольной точностью
      • 525 Преобразование кода в код, допускающий вычисление с произвольной точностью
    • 527 Резюме
  • 529 ГЛАВА 28. Защита PHP
    • 530 Возможные нападения
      • 530 Компрометация сайта
      • 532 Доступ к исходному коду
      • 534 Чтение произвольно выбранных файлов
      • 536 Вызов на выполнение произвольных программ
      • 538 Вирусы и другие электронные вредители
    • 538 Информация к размышлению – защита веб-сайта
    • 540 Резюме
  • 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 Резюме
  • 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 Резюме
  • 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 Резюме
  • 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 Резюме
  • 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 Резюме
  • 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 Резюме
  • 695 ГЛАВА 39. Совместное использование языков PHP и JavaScript
    • 695 Вывод кода JavaScript с помощью сценария PHP
      • 696 Несовместимые объекты
      • 697 Широкие возможности вывода данных в языке PHP
      • 698 Области применения языка JavaScript
    • 698 Резервирование функциональных средств кода JavaScript с помощью кода PHP
    • 700 Сравнение методов статического и динамического формирования кода JavaScript
      • 701 Динамически сгенерированные формы
      • 706 Передача данных в обратном направлении, из кода JavaScript в код PHP
    • 709 Резюме
  • 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 Резюме
  • 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 Резюме
  • 847 ПРИЛОЖЕНИЕ А. Краткие сведения о языке PHP для программистов, работающих на языке C
    • 847 Сходства
      • 848 Синтаксис
      • 848 Операции
      • 848 Управляющие структуры
      • 848 Совпадающие имена функций
    • 848 Различия
      • 848 Непривычные знаки доллара
      • 849 Типы
      • 849 Преобразование типов
      • 849 Массивы
      • 849 Отсутствие такого типа данных, как структура
      • 849 Объекты
      • 850 Отсутствие указателей
      • 850 Отсутствие прототипов
      • 850 Управление памятью
      • 850 Компиляция и связывание
      • 850 Отсутствие строгого контроля ошибок
    • 851 Руководство по изучению данной книги
    • 852 Дополнительное поощрение – возможность сразу же приступить к изучению кода
  • 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 Руководство по изучению данной книги
  • 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 Использование инструментальных средств, подходящих для выполнения конкретной работы
  • 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 совершенно бесплатно.
PHP и MySQL. Библия программиста
Рейтинг книги:
0 голосов
973

Поиск книг:




При поиске учитываются только слова, длина которых больше 3-х символов.

Статистика: