Информация о книге

978-5-9790-0054-1

Главная  » Научно-техническая литература » Информационные технологии. Компьютеры » Программирование » PHP » Основы разработки веб-приложений с помощью PHP и MySQL (+CD)

Вандшнайдер М., Основы разработки веб-приложений с помощью PHP и MySQL (+CD)


серия: Полное руководство
Эком, 2008 г., 978-5-9790-0054-1 , 230*160*35 мм., тираж: 1000


Описание книги

Это всеобъемлющее практическое руководство предназначено для программистов, которые собираются разрабатывать профессиональные веб-приложения с поддержкой баз данных с помощью РНР и MySQL. Опытный разработчик, Марк Вандшнайдер рассматривает весь процесс системно: не только кодирование, но также выбор приложения, интерфейс пользователя и проектирование базы данных, плюс безопасность, тестирование и многое другое. В книге последовательно рассматривается создание трех приложений с самого первого шага: система календарного планирования, процессор сетевого журнала и электронный магазин. Вы познакомитесь с основами стратегии создания надежных веб-приложений на основе баз данных и узнаете, как избежать распространенных ошибок, подстерегающих многих разработчиков, переходящих на РНР и MySQL. Предлагаемая книга - полный учебник по РНР для разработчиков, включая организацию кода, повторное использование и объектно-ориентированный РНР. Подробно рассмотрен доступ к данным, включая транзакции, внешние ключи и индексы. Описаны методы проверки данных, использующие регулярные выражения РНР. Рассмотрено планирование веб-приложений, включая интерфейс пользователя и управление пользователями. Подробно описаны методы по защите веб-приложений. Широко освещены вопросы реализации, включая локализацию, обработку ошибок, проверку данных, отладку, управление сеансами и развертывание. Подробно рассмотрены основы XML, веб-службы на основе XML и инфраструктура PEAR для повторного использования компонентов РНР. Показано, как работать с базами данных Oracle и PostgreSQL. Прилагаемый к книге компакт-диск (упакован в целлофановый конверт и вложен в книгу) содержит исходные коды из книги, включая три полных приложения.

Ключевые слова

Поделиться ссылкой на книгу



Содержание книги

Введение
Кому предназначена эта книга?
Язык РНР
План книги
Прежде чем начать
Благодарности
В заключение
Часть I
Основы РНР
Глава 1. Введение в РНР
Первая программа на РНР
Ввод сценариев РНР
Выделение разделов кода РНР
Смешивание РНР и HTML
Операторы и комментарии
Как сохранить данные
Основные типы данных РНР
Числа
Строки
Несколько очень полезных функций
Заключение
Глава 2. Язык РНР
Дополнительно о вводе строк
Дополнительно о типах данных
Массивы
Объекты
Специальные типы данных и значения
NULL
Преобразования типов данных
Основы
Конкретные преобразования типов
Полезные функции преобразования типов
Переменные и константы
Определение констант
Переменные по значению и по ссылке
Область действия переменной
Время жизни переменной
Предопределенные переменные
Выражения и операторы
Операторы: объединение выражений
Объединение выражений и приоритет операторов
Управляющие структуры
Операторы if
Оператор switch
Циклы while/do...while
Циклы for
Циклы foreach
Прерывание цикла
Заключение
Глава 3. Организация и повторное использование
кода
Функции
Определение и вызов функции
Передача параметров в функцию
Возвращаемые из функции значения
Область действия переменной в функциях
Область действия функции и доступность
Переменные-функции
Использование и включение файлов
Организация кода в файлах
Выбор имен файлов и местоположений
Включение файлов библиотек в сценарий
Использование включения для шаблона страницы
Заключение
Глава 4. Объектно-ориентированное
программирование
Выход за пределы библиотек
Объектно-ориентированное программирование
Несколько основных понятий
Основы объектов в РНР
Инициализация и очистка объектов
Видимость данных в объектах
Статические данные в классах
Расширение объектов
Расширение существующих классов
Еще раз о видимости
Переопределение методов базового класса
Полиморфизм: одинаковое поведение классов
Другие возможности
Сравнение объектов
Клонирование объектов
Удобный для использования вывод
Указание типа
Автозагрузка
Заключение
Глава 5. Работа с массивами
Еще раз о массивах
Создание массивов и добавление данных
Доступ к элементам массива
Удаление элементов и всего массива
Подсчет элементов в массиве
Итерации по элементам массива
Циклы foreach
Обычные циклы
Внутренние счетчики цикла и методы each, next,
prev, pos и reset..
Метод array_walk
Многомерные массивы
Операции на массивах
Сортировка массивов
Другие операции с массивами
Заключение
Глава 6. Строки и символы разных языков
Строки и РНР
Как РНР интерпретирует строки
Множества символов и Unicode
ASCII
Набор символов ISO 8859
Дальневосточные наборы символов
Unicode
Кодировки Unicode
Как все это используется в РНР
Работа с другими наборами символов
Существующая проблема
Работа с символами
Конфигурирование РНРдля использования Unicode
Установка и конфигурация mbstring и mbregex
Перегрузка функций
Операции со строками
Получение информации
Очистка строк
Поиск и сравнение
Извлечение
Работа с регистром символов
Преобразование кодировки символов
Заключение
Глава 7. Взаимодействие с сервером: формы
Пример формы
Работа с формами HTML
Добавление формы на страницу
Как передаются данные
Доступ к данным формы в сценарии
Наборы символов и формы
Работа с сервером
Серверы
Серверные переменные
Переменные окружения
Перенаправление пользователя
Заключение
Часть II
Основы баз данных
Глава 8. Введение в базы данных
О чем идет речь?
Основы
Реляционные базы данных
Причины использования СУБД
Недостатки простых файлов или электронных
таблиц
Серверы баз данных
Основные серверы баз данных
MySQL
PostgreSQL
Oracle Database
Microsoft SQL Server
Другие серверы
Как выбрать сервер базы данных
Подумайте о своих данных
Функциональные возможности
Производительность
Доступность из РНР
Стоимость
Наш выбор
Общие интерфейсы
Заключение
Глава 9. Проектирование и создание базы данных
Что размещают в базе данных
Организация данных
Первичные ключи
Выбор типов данных
Организация данных в таблицах
Индексация для ускорения поиска
Введение в SQL
Создание баз данных
Общение с сервером базы данных
Соединение и аутентификация
Создание базы данных
Установка полномочий пользователя
Подготовка к созданию пользователей
Создание пользователя
Удаление пользователей или полномочий
Создание таблиц
Типы данных SQL
Жизненный цикл клиента сервера базы данных
Создание таблицы
Движки хранения таблиц
Создание индексов
Внешние ключи и каскадное удаление
Удаление таблиц и баз данных
Заключение
Глава 10. Использование баз данных: сохранение и
извлечение данных.
Прежде чем начинать
Добавление данных в таблицы
Оператор INSERT INTO
Массовый ввод данных
Ввод данных времени
Извлечение данных из таблиц
Базовый синтаксис
Объединение данных таблиц при извлечении
Сортировка извлеченных данных
Ограничение количества одновременно
извлекаемых строк
Модификация данных в таблицах
Удаление данных из таблиц
Заключение
Глава 11. Использование баз данных: продвинутый
доступ к данным
Транзакции
Проблема
Решение
Создание транзакций
Более сложная проблема
Более сложные запросы
Объединение выражений
Определение множеств и диапазонов значений
Извлечение уникальных значений
Функции SQL в запросах
Числовые функции
Функции для работы со строками
Функции даты/времени
Объединение в группы данных агрегатных
функций
Модификация схемы таблицы
Заключение
Глава 12. РНР и доступ к данным
Предварительная подготовка
Соединение и аутентификация
Последовательность событий
Создание соединения
Задание набора символов для соединения
Выполнение запросов
Извлечение данных
Проверка ввода пользователя
Добавление, удаление и обновление данных
Транзакции
Работа с ошибками в mysqli
Подготовленные операторы
Связанные параметры
Связанные результаты
Интерфейсы в старом стиле
Основы процедурных интерфейсов баз данных
Постоянные соединения
Заключение
Часть III
Планирование веб-приложений
Глава 13. Веб-приложения и интернет
Как устроена World Wide Web
Интернет- это не так сложно, как многие думают
Общение компьютеров
Гипертекстовый протокол передачи
Типы MIME
Слой безопасных соединений (SSL)
Другие важные протоколы
Проектирование веб-приложений
Терминология
Базовая компоновка
Интерфейс пользователя
Бизнес-логика
Сервер
N-слойная архитектура
Производительность и стабильность
Заключение
Глава 14. Реализация интерфейса пользователя
Принципы построения интерфейса пользователя
Основные моменты
Планирование интерфейса пользователя
Помощь пользователям при затруднениях
Рекомендации и стратегии проектирования
Реализация пользовательского интерфейса
Каскадные таблицы стилей (CSS)
Включаемые файлы
Библиотеки кода для создания пользовательского
интерфейса
Реализация драйвера пользовательского
интерфейса
Заключение
Глава 15. Управление пользователями
Как пользователи соединяются с приложением
Посетители или известные пользователи
Проверка пользователей
Частичная или полная регистрация
Где хранить информацию пользователя
Что хранить и что не хранить
Заключение
Глава 16. Защита веб-приложений: планирование и
защита кода
Стратегии обеспечения безопасности
Самое важное
Компромисс между безопасностью и удобством
использования
После окончания разработки
Основной подход
Идентификация угроз
Угрозы
Силы зла
Защита собственного кода
Золотое правило
Фильтрация ввода
Организация кода
Что происходит в коде
Особенности файловой системы
Стабильность кода и ошибки
Кавычки выполнения и exec
Заключение
Глава 17. Защита веб-приложений: защита
программного обеспечения и оборудования
Защита веб-сервера и РНР
Обновляйте программное обеспечение
php.ini
Конфигурация веб-сервера
Виртуальные серверы
Слой безопасных соединений (SSL)
Использование SSL в РНР
Безопасность баз данных
Пользователи и система полномочий
Отправка данных на сервер
Соединение с сервером
Запуск сервера
Защита сети
Межсетевые экраны
DMZ
Будьте готовы к сетевым атакам DoS и DDoS
Безопасность компьютеров и операционных систем
Используйте современную операционную систему
Выполняйте только то, что необходимо
Физическая защита сервера
Планирование аварийной ситуации
Заключение
Часть IV
Реализация веб-приложения
Глава 18. Обработка ошибок и отладка
Как появляются ошибки
Ошибки РНР
Ошибки в коде
Внешние ошибки
Как РНР обрабатывает ошибки
Как РНР выводит ошибки
Какие ошибки порождает РНР
Работа с ошибками
Конфигурирование обработки ошибок в РНР
Исключительные ситуации
Основные моменты
Работа с исключениями
Необработанные исключения
Расширенные исключения
Отладка
Оснащение кода дополнительными средствами
Отладчики исходного кода
Заключение
Глава 19. Cookies и сеансы
Cookies
Основные операции
Как работают Cookies
Управление сроком действия cookie
Удаление cookies
Массивы cookie
Что помещают в cookies
Не злоупотребляйте cookies
Сеансы
Основы использования
Конфигурирование РНР для работы с сеансами
Как передается идентификатор сеанса
Сохранение данных во время сеанса
Кэширование страниц
Разрушение сеансов
Как работает хранилище данных сеанса
Безопасность сеанса
Получение идентификатора сеанса
Ограничение ущерба от скомпрометированного
идентификатора сеанса
Заключение
Глава 20. Аутентификация пользователей
Планирование регистрации пользователей
Аутентификация на основе веб-сервера
Базовая HTTP-аутентификация
Как это работает
Схемы аутентификации Microsoft Windows
Реализация собственной аутентификации
Настройка базы данных для управления
регистрацией
Добавление новых пользователей
Регистрация пользователей
Форма
Обновление страниц, которые требуют
зарегистрированных пользователей
Выход пользователей из системы
Удаление пользователей
Заключение
Глава 21. Дополнительные возможности вывода и
буферизация вывода
Международные и региональные настройки
Региональные настройки и их свойства
Региональные настройки пользователя
Задание региональной настройки текущей
страницы (Unix
Задание региональной настройки текущей
страницы (Windows)
Как узнать текущую региональную настройку
Форматированный вывод
Форматирование чисел
Денежные единицы
Другие функции форматирования
Буферизация вывода
Как это работает
Использование буферизации вывода
Создание собственного обработчика
Заключение
Глава 22. Проверка данных с помощью регулярных
выражений.
Использование регулярных выражений
Что такое регулярные выражения?
Настройка
Тестирование выражений
Базовый поиск
Классы символов
Границы
Точка
Повторяющиеся шаблоны
Объединение и выбор
Особенности и ловушки
Проверка данных с помощью регулярных
выражений
Проверка имени пользователя
Проверка номера телефона
Проверка почтового кода
Проверка адресов электронной почты
Другие функции регулярных выражений
ereg_replace
Разбиение
Заключение
Глава 23. XML и XHTML
XML
Что такое XML?
Зачем использовать XML?
Базовая терминология
Структура XML-документов
Пространства имен
Проверка ХМ L
Связанные технологии
Pa6oTacXMLBPHP
Выбор между SAX и DOM
Использование DOM
XHTML
Почему XHTML
Как работать с XHTML
Преобразование в XHTML
Заключение
Глава 24. Файлы и каталоги
Доступ к файлам
Открытие файлов
Закрытие файлов
Чтение файлов
Запись в файл
Полномочия доступа к файлам и другая информация
Удаление и переименование файлов
Доступ к каталогам
Работа с путями доступа
Использование классов для просмотра содержимого
каталогов
Использование функций для просмотра
содержимого каталога
Изменение текущего каталога
Создание и удаление каталогов
Вопросы безопасности
Проблемы доступа к файлам
Заключение
Глава 25. Загрузка файлов на сервер
Загрузка файлов пользователей
Как работает загрузка файлов
Конфигурация РНР для загрузки
Клиентская форма
Код сервера
Ограничение размера загружаемого файла
Обработка нескольких файлов
Пример загрузки файла
Настройка
Форма для новой учетной записи
Создание новой учетной записи
Просмотр данных пользователя
Извлечение изображения из базы данных
Проблемы безопасности
Только надежные пользователи
Отказ в обслуживании
Проверка файлов
Недопустимые имена файлов
Заключение
Глава 26. Работа с датами и временем
Источники дат и времени
РНР
Операционная система
Сервер базы данных
Веб-страницы и пользователи
Даты и время в РНР
Отметки времени в РНР
Получение даты и времени
Проверка даты и времени
Сравнение дат и времени
Вывод форматированных дат и времени
Проблема с отметкой времени
Дополнительные возможности представления дат и
времени в серверах баз данных
Диапазоны даты и времени в распространенных
серверах баз данных.
Добавление или вычитание интервалов
Обработка дат в базах данных
MySQL и отметки времени
Заключение
Глава 27. Веб-службы на основе XML и SOAP
Веб-службы на основе XML
Место действия
Знакомство со веб-службами на основе XML
Поиск веб-служб
Как работают веб-службы
SOAP
WSDL
HTTP
XML-RPC
Использование веб-служб в PHP
Выбор веб-службы
Конфигурация РНР
Работа со службой
Пример: Работа с API Google
Настройка для использования API Google
Изучаем службу
Как работает поиск
Поиск ключевых слов
Заключение
Глава 28. Использование PEAR
Введение в PEAR
Библиотека кода
Базовые классы PEAR
Сообщество поддержки
PECL
Установка и конфигурация
Unix
Windows
Основные команды
Получение справки
Получение списка пакетов
Загрузка и установка пакетов
Получение информации
Обновление существующих пакетов
Удаление пакетов
Параметры конфигурации PEAR
Пример: Использование класса Date
Установка
Основное использование
Дополнительные примеры
Заключение
Глава 29. Разработка и развертывание
Стандарты кодирования
Забота о стиле
Разработка документа стандартов кодирования
Священные войны
И еще несколько замечаний
Управление исходным кодом
Обоснование необходимости
Как это работает
Выбор системы управления исходным кодом
Тестирование
Зачем нужно тестирование?
Блочное тестирование
Тестирование производительности и нагрузки
Управление ошибками
Развертывание
Серверы тестирования
Сценарии и автоматизация процесса
Развертывание на рабочем сервере
Заключение
Часть V
Примеры проектов и дальнейшие идеи
Глава 30. Стратегии успешных веб-приложений
Объекты-синглтоны
Управление сеансами
Конфигурация
Безопасность
Объединяем все вместе
Целостный подход к управлению ошибками
Ошибки пользователей и ошибки приложения
Замена используемых по умолчанию обработчиков
Вывод ошибок пользователям
Создание новых классов исключений
Управление соединением с базой данных
Более оптимальный подход
Самый лучший подход
Новая, улучшенная функция экранирования строк
Параметры конфигурации РНР
Общие настройки
Настройки для мультибайтовых строк
Настройки для ошибок
Настройки для базы данных
Заключение
Глава 31. Менеджер расписания
Обзор
Установка и работа приложения
Структура и последовательность страниц
Структура страниц
Структура базы данных
Стратегия интерфейса пользователя
Полный список файлов
Разбор кода
Класс AppointmentManager
Работа с датами и временем
Формы обработки и последовательность страниц
Вывод расписания встреч недели и месяца
Предложения и упражнения
Изменение ежедневного и недельного
представлений
Начало недели (понедельник или воскресенье
Удаление или перемещение встреч
Преобразование в класс PEAR Date
Возможность создания перекрывающихся встреч
Многопользовательская система
Заключение
Глава 32. Движок сетевого журнала
Обзор
Установка и работа приложения
Структура и последовательность страниц
Организация страниц
Структура базы данных и примечания
Стратегия пользовательского интерфейса
Полный список файлов
Разбор кода
Генерация пользовательского интерфейса
Управление пользователями
Отслеживание зарегистрированных в системе
пользователей
Управление записями и комментариями
Предложения и упражнения
Улучшение списка пользователей на домашней
странице
Разрешение анонимных комментариев
Иерархические комментарии
Создание пользователей с помощью транзакций
Создание новой функции striptags
Заключение
Глава 33. Приложение для онлайновой коммерции
Обзор
Установка и выполнение приложения
Структура и последовательность страниц
Общая структура примера
Структура базы данных
Стратегия пользовательского интерфейса
Полный список файлов
Разбор кода
Просмотр товаров
Реализация корзины покупателя
Последовательность оформления покупки
Представление заказов на выполнение
Безопасность
Обработка платежа
Предложения и упражнения
Пропуск информации для доставки
Обработка после получения заказа
Административные страницы
Состояние заказа и отмена заказа
Заключение
Часть VI
Приложения
Приложение А. Установка и конфигурация
Установка
Веб-сервер
Сервер базы данных
РНР
Конфигурация
Веб-сервер
Сервер базы данных
РНР
Заключение
Приложение В. Эквивалентность функций баз
данных
Работа с базами данных
Перечисление доступных баз данных
Перечисление таблиц в базе данных
Описание таблицы
Описание и создание данных
Создание баз данных для работы с UTF-8
Задание соединения с UTF-8
Поля с автоприращением
Типы столбцов даты/времени
Типы столбцов двоичных данных
Типы столбцов для большого текста
Загрузка массива данных
Другие функции
Извлечение подстроки
Соединение (конкатенация) строк
NOW
Функции для работы с датами
Форматирование вывода даты/времени
Предложение LIMIT
Заключение
Приложение С. Дополнительные материалы для
изучения


Об авторе

Вандшнайдер М.
Профессиональный разработчик программного обеспечения с 13-летним опытом работы. выпускник Школы информатики Университета МакГилла, он более 5 лет работал в компании Microsoft в качестве ведущего разработчика и менеджера в подразделении Developer Tools, прежде чем отправиться путешествовать по миру - изучая языки программирования и помогая компаниям разрабатывать программное обеспечение. Сейчас он работает над программным обеспечением с открытым кодом, включая Linux, FreeBSD, Qt и (недавно) PHP MySQL

Последние поступления в рубрике "PHP"



JavaScript for PHP Developers JavaScript for PHP Developers Stefanov S.

If you want to significantly expand your web development skills beyond PHP, this practical, hands - on book teaches you ECMAScript - the core JavaScript language - from the ground up....

The First Last Kiss The First Last Kiss Harris A.

How do you hold on to a love that is slowly slipping away from you? Can you let go of the past when you know what is in the future? And how do you cope when you know that every kiss is a countdown to goodbye? This is the story of a love affair, of......

1С-Битрикс:строим профессиональный сайт и интернет-магазин (+CD) 1С-Битрикс:строим профессиональный сайт и интернет-магазин (+CD) Басыров Р.

Созданием сайтов, кроме специализированных студий, сегодня занимаются самые разные люди - фрилансеры, работники мелких и средних компаний, служащие бюджетных и государственных организаций, частные пользователи. И многие из них выбирают лучшую на сегодня отечественную систему управления сайтами - "1С-Битрикс: Управление сайтом"....

Если Вы задавались вопросами "где найти книгу в интернете?", "где купить книгу?" и "в каком книжном интернет-магазине нужная книга стоит дешевле?", то наш сайт именно для Вас. На сайте книжной поисковой системы Книгопоиск Вы можете узнать наличие книги Вандшнайдер М., Основы разработки веб-приложений с помощью PHP и MySQL (+CD) в интернет-магазинах. Также Вы можете перейти на страницу понравившегося интернет-магазина и купить книгу на сайте магазина. Учтите, что стоимость товара и его наличие в нашей поисковой системе и на сайте интернет-магазина книг может отличаться, в виду задержки обновления информации.