Прежде чем начать
В этой, заключительной части учебного пособия мы закончим разработку учебного приложения, поддерживающего workflow, с которым мы работали в предыдущих двух частях. Мы добавим HTTP-аутентификацию, потоковое перемещение документов из каталогов, закрытых для доступа из сети, задействуем обработку исключений. Мы введем понятие объекта и изменим структуру нашего приложения, включив некоторые его части как объекты.
Кроме того, мы добавим для администратора системы возможность одобрять загруженные простыми пользователями документы и делать их общедоступными. Вот полный перечень стоящих перед нами задач:
- Подключение и использование HTTP-аутентификации
- Перемещение файла с использованием потока данных
- Создание классов и объектов
- Использование методов и свойств объектов
- Описание и обработка исключений
- Использование ID атрибутов XML
- Организация проверки синтаксической корректности XML-документов с использованием DTD (Document Type Definition -- Опеределние Типа Документа)
- Обеспечение контроля доступа к данным с использованием информации об источнике запроса
Для кого написано это пособие?
Это учебное пособие является заключительной частью в серии из трех пособий, описывающих создание с помощью PHP приложения, поддерживающего workflow. Мы предполагаем, что у читателя есть базовые знания по PHP и желание познакомиться с более сложными темами, такими как объектно-ориентированное программирование, HTTP-аутентификация, обработка потоков данных, классы, объекты, описание и обработка исключений, дополнительные возможности для работы с форматом XML.
Базовые знания по PHP, на которые мы опираемся в этом учебном пособии, включают знание синтаксиса, умение работать с такими структурами как HTML-формы и базы данных, знакомство с форматом файлов XML. Все эти темы обсуждались в Части 1 и Части 2 этой серии. Дополнительную информацию по теме этого пособия можно найти в разделе Ресурсы.
Вам необходимо иметь Web-сервер, PHP и базу данных. Если у вас есть доступ к сети, в которой установлен сервер PHP V5 с доступом к базе данных MySQL, то вы можете им воспользоваться. В противном случае загрузите и установите следующие пакеты:
HTTP-сервер -- Вне зависимости от того, работаете ли вы под Windows®, Linux®, UNIX® или Mac OS X, вы имеете возможность использовать Apache HTTP-сервер. Можно использовать различные версии, но примеры HTTP-аутентификации в этой части пособия ориентированны на версии Apache V2.X. Загрузить HTTP-сервер можно со страницы Apache. Если вы работаете под Windows®, вы можете также использовать Windows® IIS.
PHP -- Вам необходим дистрибутив PHP. Во время написания этого пособия в ходу были версии PHP V4 и V5, но в примерах этой части используются новые возможности версии V5. Загрузить дистрибутив можно со страницы PHP.
База данных -- одной из тем этого учебника является получение доступа к базе данных. Соответственно, вам нужна та или иная база данных. Мы разбираем доступ к базе MySQL, поскольку именно эта база данных как правило используется вместе с PHP. Загрузите базу данных со страницы http://dev.mysql.com/downloads/index.html.