Разработка системы управления содержимым сайта
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?еделение не обходимых шаблонов. Файл 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>