Абстрактный класс для своей СУБД лучше всего искать в PEAR (PHP Extension and Add-on Repository - расширение РНР и дополнительное хранилище) или PHPLib. PEAR - это проект разработчиков РНР по созданию общего хранилища многократно используемого кода, аналогичное CPAN для Perl. Дополнительные сведения о том, что представляет собой PEAR и как писать или использовать код PEAR, можно получить на http:/7pear.php.net/. Однако в главе 17 мы попробуем написать собственный абстрактный класс. Не рекомендуется применять в своих приложениях собственные функции РНР для прямого доступа к базам данных.
Модель XML
XML (Extended Markup Language - расширяемый язык разметки), признанный стандарт, выработанный W3C (World Wide Web Consortium), представляет собой прекрасный язык моделирования данных. Данные, хранящиеся в XML, конструируются на основе DTD или схем, которые определяют структуру документов XML стандартным или зависящим от задачи образом.
На сегодняшний день существуют сотни приложений и систем, основанных на применении XML, как для обмена данными, так и для их хранения. Поскольку XML очень подходит в качестве стандарта для преобразования данных из одного формата в другой, он быстро становится основой для взаимодействия приложений. Даже когда приложениям не надо взаимодейство - вать с другими системами, применение XML позволяет стандартизировать внутренние структуры и упростить процесс разработки.
Рассмотрим один такой файл XML для приложения с опросом:
<pollsapp> <poll>
<question>Which is your favorite color?</question>
<option> <name>blue</name> <votes>6</votes>
</option>
<option> <name>green</name> <votes>7</votes> </option>
<comment>I really like blue</comment> <poll>
</pollsapp>
Как видите, элементы poll, option и votes можно сохранить в одном файле XML.
мы не предполагали, что пользователь захочет добавить к голосованию свои комментарии. Для того чтобы ввести комментарии в реляционную модель, мы должны были бы создать для комментариев таблицу. В XML мы просто добавим в файл XML элементы comment.
Действительно существенными преимуществами XML над реляционной моделью являются следующие:
♦ В SQL реализована фирменная модель метаданных, тогда как XML использует открытый стандарт.
♦ SQL относительно стандартизован, но способ внутреннего хранения данных специфичен для каждой СУБД.