Рассматривается создание большого количества Web-приложений, входящих в состав полнофункционального Web-сайта.
Попутно подробно обсуждаются все вопросы, с которыми может столкнуться Web-разработчик, начиная с создания инструментария для быстрой разработки Web-приложений и последних нововведений языка программирования РНР и заканчивая вопросами безопасности и особенностями программирования клиент-серверных приложений.
Книга ориентирована на читателей, знакомых с языком разметки HTML и базовыми возможностями языка программирования РНР. Второе издание полностью переработано, учтены нововведения версий РНР 5.1 и 6.0. Прилагаемый компакт-диск содержит исходные коды всех 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-подобные операционные системы
Методология программирования
Предметный указатель
Год издания: 2009
Автор: Максим Кузнецов, Игорь Симдянов
Формат: PDF
Внимание! У вас нет прав для просмотра скрытого текста.