Проектирование приложения, вводит определение понятия
Web 2.0 и кратко описывает возможности, которые будут реализованы в будущем приложении. Здесь также освещаются разные аспекты цикла разработки веб-приложений, которые следует учитывать при планировании и проектировании своих ресурсов.
- Что такое Web 2.0
- Взаимодействие с базами данных
- Шаблоны веб-сайтов
- Функции будущего веб-сайта
- Другие аспекты разработки
- Управление версиями и модульное тестирование
Создание рабочей среды и структуры приложения, начинает описание непосредственной реализации проекта. Показывается, как создать рабочую среду: установить необходимое серверное программное обеспечение и организовать общую структуру файлов сайта. Кроме вопросов подключения к базе данных средствами PHP, рассмотрены пользовательские запросы с использованием
Zend Framework и управление HTML кодом через систему Smarty Template Engine.
- Установка и настройка веб-сервера
- Файловая структура приложения
- Установка библиотеки Zend Framework
- Конфигурирование веб-сервера
- Настройка базы данных
- Архитектура "модель-представление-контроллер"
- Рабочие настройки приложения
- Соединение с базой данных
- Система Smarty Template Engine
- Программирование журнала событий
Управление учетными записями пользователей, содержит введение в работу с базой данных. Рассмотрены вопросы легкого и удобного управления данными, хранящимися в базе, на примере реализации
учета пользователей. Дополнительно объясняется, как работает система допуска пользователей по ролевым группам – категориям и реализуется ее функционал в приложении.
- Создание таблицы пользователей в базе данных
- Основы работы с компонентом Zend_Auth
- Основы работы с компонентом Zend_Acl
- Совместная работа компонентов Zend_Auth, Zend_Acl и Zend_Controller_Front
- Управление списком пользователей через класс DatabaseObject
- Управление профилями пользователей
Регистрация, вход и выход пользователей, логически продолжает предыдущую тему. В ней рассматривается реализация системы
регистрации пользователей. Именно здесь впервые приходится иметь дело с данными, поступающими от пользователя, поэтому важно правильно обработать их с помощью форм регистрации и входа в систему.
- Добавление регистрации пользователей
- Реализация входа на сайт и выхода с него
- Работа с забытыми паролями
- Реализация управления учетной записью
Обзор библиотек Prototype и Scriptaculous, знакомит читателя с двумя из наиболее полезных библиотек JavaScript, предлагаемых в сети. Библиотека Prototype помогает веб-мастерам разрабатывать код на JavaScript с хорошими возможностями переносимости, поддержки и доработки. Библиотека Scriptaculous упрощает процесс добавления на веб-страницы впечатляющих визуальных эффектов.
- Загрузка и установка библиотеки Prototype
- Выбор объектов в объектной модели документа
- Тип Hash библиотеки Prototype
- Другие расширенные функции элементов
- Операции Ajax в Prototype
- Обработка событий в Prototype
- Создание классов JavaScript в среде Prototype
- От Prototype к Scriptaculous
- Загрузка и установка Scriptaculous
- Пример с использованием Prototype, Scriptaculous, Ajax и PHP
Визуальная стилистика веб-приложения, фокусируется не на функциональных возможностях приложения, а на его восприятии пользователем. Сначала рассматривается реализация разнообразных средств навигации, при этом показывается, как своими руками создать собственный подключаемый модуль или плагин для системы
Smarty. Затем приложению придается несложный и аккуратный дизайн.
- Заголовки страниц и пути по сайту
- Создание дизайна приложения
- Разработка стилей CSS
- Визуальный стиль веб-форм
- Загрузка библиотек Prototype и Scriptaculous
- Клиентская часть проверки данных формы
Построение системы блогов, начинает описание процесса создания
системы блогов на сайте. Пользователи получат возможность добавлять, редактировать и удалять свои записи в блогах. Один из ключевых рассматриваемых вопросов – как разрешить пользователям писать в блоги в формате HTML и при этом сохранить должный уровень безопасности и стабильность работы сайта.
- Создание таблиц базы данных
- Классы профилей и объект для доступа к базе данных
- Контроллер для управления записями блога
- Создание и редактирование записей блога
- Предварительный просмотр сообщений
- Обновление статуса сообщений в блоге
Расширение возможностей управления блогами, содержит наглядный пример применения технологии AJAX для предоставления пользователям возможности управления их блогами. Здесь показывается форма создания записи блога с визуальным текстовым редактором
FCKeditor типа WYSIWYG с открытым кодом.
- Организация списка записей на индексной странице
- Получение сводки блога за месяц средствами Ajax
- Интегрирование визуального редактора
Личные страницы пользователей, показывает, как добавить приложению функционал, который позволяет пользователям создавать новые учетные записи и управлять собственными блогами. Личные страницы пользователей открываются для публичного доступа, каждый пользователь получает свою публичную домашнюю страницу, на которой показаны все заметки из его блога. Также здесь рассказывается о том, как реализовать сложные схемы URL адресации и дать пользователям возможность настраивать свою личную веб-среду, управляя профилями и настройками.
- Параметры блогов пользователей
- Класс UserController
- Отображение блога пользователя
- Заполнение главной страницы сайта
Реализация средств Web 2.0, описывает некоторые из свойств и возможностей, которые относятся к
Web 2.0. Например, реализация стандартов и применение технологии AJAX, типичны для большинства веб-приложений. Однако другие считаются характерными чертами именно Web 2.0. Здесь рассмотрены именно такие функции, в том числе микроформаты, передача данных по стандартам
RSS и Atom.
- Метки
- Ленты новостей
- Микроформаты
- Создание общедоступного профиля пользователя
Динамическая галерея изображений, демонстрирует, как можно расширить возможности системы блогов, дав пользователям возможность размещать в записях своих блогов фотографии. На этом примере показывается, как правильно обрабатывать
загрузку файлов на сайт и работать со специфическими для графических изображений функциями, такими как динамическое генерирование миниатюр.
- Хранение файлов, выгруженных на сервер
- Передача файлов на сервер
- Отправка изображений в браузер
- Масштабирование изображений
- Работа с изображениями в заметках блога
- Вывод изображений в блоги пользователей
Реализация поиска по сайту, состоит из двух смысловых частей: создание поисковых указателей – индексов, на основе записей пользователей в блогах и выполнение поиска по записям согласно запросам посетителей. Индексирование или построение указателей – дело непростое, но с использованием средств
Zend Framework задача сильно упрощается. После реализации базовых возможностей поиска функционал веб-приложения расширяется за счет до6авления удобного средства автоматического дополнения поисковых запросов на основе технологии AJAX, аналогичного Google Suggest.
- Основы работы с компонентом Zend_Search_Lucene
- Индексирование контента
- Создание поискового механизма
- Автоматическое дополнение фраз в поисковом запросе
Внедрение карт Google Maps, демонстрирует возможность использовать бесплатные сетевые веб-службы для улучшения функциональности сайтов, а именно, как можно добавить возможность указания своего местонахождения в записях блогов с помощью службы
Google Maps. Автором показан высоко технологичный пример реализации этой службы на основе сочетания программного интерфейса
Google Maps API с доступом к собственной базе данных по технологии AJAX. Дополнительно, рассказывается, как обрабатывать картографические данные в реальном времени.
- Возможности службы Google Maps
- Планирование
- Хранение географических данных
- Создание карты
- Управление точками на карте
- Отображение карты в блоге пользователя
Размещение и поддержка в сети, отвечает на ряд вопросов, касающихся окончательной доводки приложения. Здесь частично обсуждается тема, начатая ранее в главе 2, рассматриваются также и новые вопросы – такие как размещение приложения в сети для публичного пользования.
- Ведение системного журнала
- Обработка ошибок на сайте
- Цель обработки ошибок
- Администрирование веб-сайта
- Установка приложения в сети
- Резервирование и восстановление