От издателя Рассматривается создание большого количества Web-приложений, входящих в состав полнофункционального Web-сайта. Попутно подробно обсуждаются все вопросы, с которыми может столкнуться Web-разработчик, начиная с создания инструментария для быстрой разработки Web-приложений и последних нововведений языка программирования РНР и заканчивая вопросами безопасности и особенностями программирования клиент-серверных приложений. Книга ориентирована на читателей, знакомых с языком разметки HTML и базовыми возможностями языка программирования РНР. Второе издание полностью переработано, учтены нововведения версий РНР 5.1 и 6.0. Прилагаемый компакт-диск содержит исходные коды всех Web-приложений, разрабатываемых в книге. Для программистов и Web-разработчиков. Содержание Оглавление Введение Для кого и о чем эта книга? Как построена книга Предисловие авторов ко второму изданию Благодарности ЧАСТЬ I. Общие вопросы Глава 1. Объектно-ориентированные возможности PHP 1.1. Введение в объектно-ориентированное программирование 1.2. Создание класса 1.3. Создание объекта 1.4. Инкапсуляция. Спецификаторы доступа 1.5. Методы класса. Член $this 1.6. Дамп объекта 1.7. Специальные методы класса 1.8. Функции для работы с методами и классами 1.9. Конструктор. Метод __construct() 1.10. Параметры конструктора 1.11. Деструктор. Метод __destruct() 1.12. Автозагрузка классов. Функция __autoload() 1.13. Аксессоры. Методы __set() и __get() 1.14. Проверка существования члена класса. Метод __isset() 1.15. Уничтожение члена класса. Метод __unset() 1.16. Динамические методы. Метод __call() 1.17. Интерполяция объекта. Метод __toString() 1.18. Экспорт объектов. Метод __set_state() 1.19. Наследование 1.20. Спецификаторы доступа и наследование 1.21. Перегрузка методов 1.22. Полиморфизм 1.23. Абстрактные классы 1.24. Абстрактные методы 1.25. Создание интерфейса 1.26. Реализация нескольких интерфейсов 1.27. Наследование интерфейсов 1.28. Статические члены класса 1.29. Статические методы класса 1.30. Константы класса 1.31. Предопределенные константы 1.32. Final-методы класса 1.33. Final-классы 1.34. Клонирование объекта 1.35. Управление процессом клонирования. Метод __clone() 1.36. Сериализация объектов 1.37. Управление сериализацией. Методы __sleep() и __wakeup() 1.38. Синтаксис исключений 1.39. Интерфейс класса Exception Глава 2. Работа с СУБД MySQL 2.1. Введение в СУБД и SQL 2.2. Первичные ключи 2.3. Создание и удаление базы данных 2.4. Выбор базы данных 2.5. Типы данных 2.6. Создание и удаление таблиц 2.7. Вставка числовых значений в таблицу 2.8. Вставка строковых значений в таблицу 2.9. Вставка календарных значений 2.10. Вставка уникальных значений 2.11. Механизм AUTO_INCREMENT 2.12. Многострочный оператор INSERT 2.13. Удаление данных 2.14. Обновление записей 2.15. Выборка данных 2.16. Условная выборка 2.17. Псевдонимы столбцов 2.18. Сортировка записей 2.19. Вывод записей в случайном порядке 2.20. Ограничение выборки 2.21. Вывод уникальных значений 2.22. Объединение таблиц 2.23. Функции MySQL 2.24. PHP и MySQL Глава 3. Протокол HTTP 3.1. Функции для работы с HTTP-заголовками 3.2. Сессии и cookie 3.3. Сокеты и CURL 3.4. Работа с доменами и IP-адресами Глава 4. ''Хитрости'' PHP 4.1. PHP и javascript 4.2. О профилировании кода 4.3. Подсветка кода с помощью стандартных функций PHP 4.4. Подсветка синтаксиса PHP (собственная функция) 4.5. Загрузка файлов на сервер 4.6. Редактирование файлов на сервере 4.7. Счетчик количества загрузок файла 4.8. Количество файлов в каталогах 4.9. Копирование содержимого одной директории в другую 4.10. Удаление директории 4.11. Случайное изображение из директории 4.12. Определение размера файла 4.13. Предотвращение загрузки страниц Глава 5. Безопасность создаваемых Web-приложений 5.1. Проверка корректности данных, вводимых пользователем 5.2. Публикация изображений и файлов 5.3. Методы шифрования 5.4. SQL-инъекции 5.5. XSS-инъекции Глава 6. Вспомогательный набор классов. Framework 6.1. Требования к набору классов 6.2. HTML-форма и ее обработчик 6.3. Обработка исключительных ситуаций 6.4. Базовый класс field 6.5. Текстовое поле. Класс field_text 6.6. Класс from 6.7. Пример HTML-формы 6.8. Поле для пароля. Класс field_password 6.9. Поле для ввода английского текста. Класс field_text_english 6.10. Поле для ввода целых чисел. Класс field_text_int 6.11. Поле для ввода электронной почты. Класс field_text_email 6.12. Текстовая область. Класс field_textarea 6.13. Скрытое поле. Класс field_hidden 6.14. Скрытое поле для целых значений. Класс field_hidden_int 6.15. Флажок. Класс field_checkbox 6.16. Список. Класс field_select 6.17. Переключатели. Класс field_radio 6.18. Поле для загрузки файла на сервер. Класс field_file 6.19. Заголовок. Класс field_title 6.20. Параграф. Класс field_paragraph 6.21. Выбор даты и времени. Класс field_datetime 6.22. Обзор элементов управления Глава 7. Постраничная навигация 7.1. Базовый класс постраничной навигации 7.2. Файловая постраничная навигация 7.3. Постраничная навигация и поиск 7.4. Постраничная навигация для директории 7.5. Постраничная навигация для базы данных 7.6. Изменение формата постраничной навигации ЧАСТЬ II. Создание сайта Глава 8. Проектирование сайта 8.1. Структура системы управления сайтом (CMS) 8.2. Общие файлы системы администрирования Глава 9. Ограничение доступа к системе администрирования Глава 10. Новостной блок 10.1. База данных 10.2. Система администрирования 10.3. Система представления Глава 11. Блок ''Вопросы и Ответы'' 11.1. База данных 11.2. Система администрирования 11.3. Система представления Глава 12. Система администрирования содержимого сайта (CMS) 12.1. База данных 12.2. Система администрирования 12.3. Система представления Глава 13. Каталог продукции (услуг) 13.1. Проектирование базы данных 13.2. Система администрирования 13.3. Импорт прайс-листа 13.4. Блок представления Глава 14. Система поиска по сайту 14.1. Специализированный поиск по каталогу 14.2. Поиск по сайту Глава 15. Блок ''Контакты'' 15.1. База данных 15.2. Система администрирования 15.3. Блок представления Глава 16. Блок голосования 16.1. База данных 16.2. Система администрирования 16.3. Система представления Глава 17. Гостевая книга 17.1. База данных 17.2. Блок представления 17.3. Система администрирования Глава 18. Регистрация пользователей 18.1. База данных 18.2. Регистрация пользователей 18.3. Аутентификация пользователя 18.4. Восстановление пароля 18.5. Система администрирования Глава 19. Почтовая рассылка Глава 20. Фотогалерея 20.1. База данных 20.2. Система администрирования 20.3. Система представления Глава 21. FTP-менеджер 21.1. Функции для работы с FTP-сервером 21.2. FTP-менеджер Глава 22. Защита директорий паролем 22.1. Конфигурационные файлы .htaccess и .htpasswd 22.2. Web-интерфейс защиты директории паролем Глава 23. Система мониторинга позиций сайта в поисковых системах 23.1. Извлечение ссылок с Yandex 23.2. Извлечение ссылок с Google 23.3. Извлечение ссылок с Rambler 23.4. Извлечение ссылок с Aport 23.5. Мониторинг позиции сайта Глава 24. Система учета посещаемости сайта 24.1. База данных 24.2. Учет статистики 24.3. Система администрирования 24.4. Разработка системы администрирования Глава 25. Форум: проектирование 25.1. Проектирование базы данных 25.2. Проектирование структуры Глава 26. Форум: система представления 26.1. Описание файлов форума 26.2. Описание функциональности форума Глава 27. Форум: система администрирования 27.1. Описание файлов форума 27.2. Описание функциональности форума Глава 28. Динамические изображения. Библиотека GDLib 28.1. Информационные функции 28.2. Функции создания изображений 28.3. Функции сохранения и вывода изображений 28.4. Функции преобразования изображений 28.5. Функции для работы с цветом 28.6. Функции рисования 28.7. Функции настройки рисования 28.8. Функции для работы с текстом Заключение ПРИЛОЖЕНИЯ Приложение 1. Установка и настройка PHP, Web-сервера Apache и MySQL-сервера П1.1. Где взять дистрибутивы? П1.2. Установка Web-сервера Apache под Windows П1.3. Установка Web-сервера Apache под Linux П1.4. Настройка виртуальных хостов П1.5. Настройка кодировки по умолчанию П1.6. Управление запуском и остановкой Web-сервера Apache П1.7. Управление Apache из командной строки П1.8. Установка PHP под Windows П1.9. Установка PHP под Linux П1.10. Общая настройка конфигурационного файла php.ini П1.11. Настройка и проверка работоспособности расширений PHP Приложение 2. Установка MySQL П2.1. Установка MySQL под Windows П2.2. Установка MySQL под Linux П2.3. Конфигурационный файл П2.4. Утилита mysql П2.5. Перенос баз данных с одного сервера на другой Приложение 3. Использование cron П3.1. PHP как консольный интерпретатор П3.2. Планировщик заданий или работа с cron Приложение 4. Регулярные выражения П4.1. Синтаксис регулярных выражений П4.2. Функции для работы с регулярными выражениями Приложение 5. Описание компакт-диска Рекомендуемая литература HTML, XML, CSS, javascript и Flash PHP и Perl СУБД MySQL Интернет и Web-сервер Apache Регулярные выражения UNIX-подобные операционные системы Методология программирования Предметный указатель Первое издание на сайте
Author(s): Кузнецов М.В., Симдянов И.В.
Series: Профессиональное программирование
Edition: 2-е изд
Publisher: БХВ-Петербург
Year: 2008
Language: Russian
Commentary: 1146121678. Отличное
Pages: 1264
City: Санкт-Петербург