Аргерих Л. О языке РНР. Часть 3. Страница 129


♦ Нельзя понять содержимое таблицы, не воспользовавшись средствами СУБД для интерпретации и вывода данных.

♦ XML предназначен для обмена данными, тогда как реляционная модель должна опираться на средства преобразования.

♦ Нельзя послать таблицу какой-либо базы данных SQL в виде открытого кода. XML позволяет посылать простые файлы XML. Задачи преобразо­вания решает другой открытый стандарт - XSLT.

Наконец, чтобы реализовать в РНР модель данных, основанную на XML, надо сначала определить, как, где и зачем хранить поток данных. Можно восполь­зоваться плоскими файлами в файловой системе или применить решение с хранилищем XML, например Ozone или dbXML (http://www.dbxml.org/"> http://www.dbxml.org/ ).

API PHP для XML более глубоко освещается в главе 21. Там рассказывается о чтении, записи и преобразовании данных.

Гибридная модель

Гибридная модель данных объединяет две или более разных стратегий моде­лирования данных. Например, в одном и том же приложении могут сосу­ществовать реляционная модель и набор DTD и файлов XML.

Гибридные модели повышают сложность уровня содержимого, поскольку существует более чем один интерфейс для хранения и извлечения данных. Гибридные модели требуют высокого мастерства проектирования на этапе планирования, но они наиболее гибки, масштабируемы и полезны в сегод­няшнем мире электронной коммерции.

Уровеньлогики

Уровень логики - это то место, где сосредоточен весь интеллект приложе­ния. Здесь обрабатываются и препарируются данные, полученные из уровня содержимого. Такие действия, как расчеты, преобразования, получение ста­тистики, защита и аудит - все они происходят в уровне логики. В основе это­го уровня лежат системы отслеживания пользователей, регистрации, кэши­рования и многие другие.

Самое важное при проектировании уровня логики в РНР — обеспечить его модульность. Для различных деловых правил и функций, требуемых прило­жением, можно создать отдельные классы-функции.

В нашем примере с опросом можно создать класс Polls и поместить в него все методы, необходимые для работы, такие как получение текущего опроса, до­бавление опроса, голосование, получение вариантов выбора и т. д. Если впо­следствии потребуется добавить на сайт или в приложение форумы, то можно будет разработать и создать новый класс-модуль, не имеющий абсолютно ни­каких связей или зависимостей с объектами, создаваемыми до и после него.

Уровень представления

На уровне представления к содержимому, подготовленному на уровне логи­ки, добавляются элементы дизайна и размещения. На этом уровне генериру­ется HTML с применением CSS, Flash, графики и всего того, чем воспользуют­ся специалисты по дизайну для повышения привлекательности приложения.