Разработка системы управления содержимым сайта

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



?еделение не обходимых шаблонов. Файл conf.inc определяет пути URL к элементам системы:

rПуть к библиотеке классов.

rПуть к библиотеке шаблонов.

rПуть к библиотеке системы управления.

Кроме того определяет параметры подключения к базе данных:

rОпределяет имя сервера.

rОпределяет имя базы данных.

rОпределяет пароль пользователя базы данных.

Файл библиотеки классов содержит в себе инструкции включения файлов классов, файлов предопределенных для всей библиотеки констант и функции, необходимых для работы библиотеки. Общий файл и файл констант библиотеки при этом располагается в корне приложения, использующего библиотеку классов, в файлы классов и классовых констант - в отдельной папке (папке библиотеки). Работа этого файла сводится к следующему:

rОпределяет возможные кодировки(в том числе кодировку работы с библиотекой).

rОпределят порядок работы с данными(по умолчанию в последовательности память, файл, база данных).

rПодключает библиотеку классов.

5.13 Файлы библиотеки классов

Графически диаграмма классов представлена на плакате 3.

error.class - класс работы с ошибками. В зависимости от того, какая ошибка, с каким идентификационным номером произошла, выводит сообщение.

validator.class - класс предназначен для проверки значений данных на соответствие типу данных. Тип определяется регулярным выражением. Как было уже сказано выше, в данной версии реализации, CMS работает с тремя типами данных: новость, статья, изображение.

mysql.class - как видно из названия, класс для работы с базой данных. Работает с параметрами активации и отключения базы данных. Так же осуществляет выборку, сортировку, установку, удаление пользователей, таблиц, записей.

mail.class - класс позволяет работать с электронной почтой и имеет набор следующих функций:

rНесколько уровней проверки вводимого пользователем имени почтового адреса (включая проверку на существование последнего).

rДобавление файлов к письму.

rВозможность установить кодировку письма.

rИ другие функции.

templates.class - шаблонизатор. Работает с файлами шаблонов. В том числе, определяет какой шаблон для какого типа данных нужно подобрать из существующих. Передает результаты работы template.class`у.

template.class - Производит парсинг контента и вставляет его в нужный шаблон. Формирует тело HTML - документа. Сам шаблон представляет собой не большие куски HTML - разметки, с синтаксическими конструкциями, которые понимает шаблонизатор. Данный метод позволяет изменять дизайн страниц, при меньших затратах времени, в отличие от метода ручной верстки страниц.

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

Сказанное стоит пояснить на конкретном примере. Допустим, у нас имеется команда разработчиков, состоящая из web-дизайнеров и программистов. В идеале группа web-дизайнеров трудится над созданием привлекательного и удобного сайта, а группа программистов в это время работает над эффективностью и широтой возможностей web-приложения. К счастью, шаблоны заметно упрощают подобное структурирование процесса.

Существует несколько разных подходов для создания шаблонов с помощью языка РНР:

rвнедрение HTML в код РНР;

rвключение файлов в страницу.

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

Вторая схема во многих ситуациях оказывается гораздо удобнее первой. Тем не менее, хотя структура заголовок - основная часть - колонтитул хорошо подходит для структурирования относительно малых сайтов с четко определенным форматом, с увеличением объемов и сложности проекта эти ограничения проявляются все заметнее. Попытки решения этих проблем привели к разработке новой схемы применения шаблонов, более сложной по сравнению с двумя первыми, но и обладающей существенно большей гибкостью. В этой схеме разделяются два главных компонента web-приложения: дизайн и программирование. Подобное деление обеспечивает возможность параллельной разработки (web-дизайн и программирование) без необходимости постоянной координации на протяжении всего рабочего цикла. Более того, оно позволяет в будущем модифицировать один компонент, не влияя на работу другого.

В листинге 1 представлен некий базовый шаблон, созданный на основе этой технологии.

Листинг 1. - Шаблон news

<tr>