Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PredDiplom.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
289.59 Кб
Скачать
  1. Математическая модель:

Математическая модель не имеет никаких математических действий. Весь движок построен на взаимодействии классов и различных функций.

Из этого следует что математическая модель будет построена на логическом взаимодействии экземпляров объектов.

Общий принцип работы движка:

  1. Пользователь подает GET запрос в строку браузера.

  2. Движок принимает запрос, и в соответствии со значением GET переменной view загружает передаваемый ему класс из библиотеки и соответствующий значению переменной файл верстки из каталога tmpl.

  3. Загрузив нужные данные движок выполняет подгруженный класс и связывает его с tpl файлом.

  4. Связав дизайн с выполняющей частью движок связывает основу сайта с получившейся предыдущей связью.

  5. Отправляем готовую страницу пользователю.

Общая схема работы движка (Рисунок 1)

Рисунок 1 – общая схема работы движка.

Классы движка:

Класс Article наследник GlobalClass – глобальный класс для работы со статьями.

Метод: getAllSortDateсортировать статьи по дате создания

Метод: getAllOnSectionID – вызвать все статьи данной секции

Метод: searchArticles – поиск статьи по ключевым словам

Класс ArticleContent наследник Modules - класс управления содержимым статей.

Метод: getTitle – вернуть заголовок

Метод: getDescription – вернуть содержание статьи

Метод: getKeyWords – вернуть ключевые слова

Метод: getMiddle – вернуть статью

Метод: getArticle – собирает статью

Класс Banner наследник GlobalClass - класс для работы с баннерами

Метод: __construct – возвращает код баннера из БД.

Класс CheckValid – класс проверки соответствию данных

Метод: validID – проверка соответствия номеру

Метод: validLogin – проверка получаемого логина на правила его написания

Метод: validHash – проверка хэша пароля на првильность

Метод: validTimeStamp – проверка даты (регистрации, написания чего либо)

Метод: isIntNumber – проверка, является ли данные числом

Метод: isNoNegativeInteger - проверка, является ли число целочисленным

Метод: isOnlyLetterAndDigits – являются ли данные только буквами и цифрами

Метод: validString – проверка правильности текста

Метод: isContainQuotes – содержит ли текст кавычки

Класс Config – класс настроек проекта. Содержит только переменные

var $sitename - название сайта

var $address – адрес сайта

var $secret = секретное слово (приставка для хэша пароля)

var $host = путь к хосту сайта

var $db = имя БД

var $db_prefix = префикс к таблицам БД

var $user = Пользователь БД

var $password= пароль БД

var $admname = Имя создателя

var $admemail = Пароль админа

var $dir_text = путь к директории с шрифтами

var $dir_tmpl = путь к директории с шаблонами

var $count_blog = максимальное количество статей на 1 странице

var $min_login = мин значение для логина

var $max_login = макс значение для логина

Класс DataBase – класс для работы с БД

Метод: query – обращение к БД

Метод: select – сделать выборку из БД

Метод: insert – записать в БД

Метод: update – обновить данные в БД

Метод: delete – удалить данные из БД

Метод: deleteAll – удалить все данные из БД

Метод: getField выборка данных по области

Метод: getFieldOnID - выборка данных по номеру

Метод: getAll – вытащить всё

Метод: getAllOnField - вытащить всё по области

Метод: getLastID – получить последний номер

Метод: deleteOnID – удалить запись по номеру

Метод: setField – обновить область

Метод: setFieldOnID – обновить данные по номеру

Метод: getElementOnID – вытащить ячейку по номеру

Метод: getRandomElements – вытащить любой элемент

Метод: getCount – узнать количество элементов

Метод: isExists – существует ли элемент

Метод: existsID – существует ли номер

Метод: search – поиск

Метод: orderResultSearch – превращает результат поиска в ассоциативный массив

Класс FrontPageContent наследник Modules – класс главной станицы сайта

Метод: getTitle – установка заголовка

Метод: getDescription – установка описания сайта

Метод: getKeyWords – запись ключевых слов

Метод: getTop – установка шапки сайта

Метод: getMiddle – установка цент-содержания

Метод: getBottom – установка низ части

Класс GlobalClass – обращается к методам БД. Кроме него больше никто к БД не обращается а все обращения проходят через этот класс (для защиты)

Метод: query – обращение к БД

Метод: select – сделать выборку из БД

Метод: insert – записать в БД

Метод: update – обновить данные в БД

Метод: delete – удалить данные из БД

Метод: deleteAll – удалить все данные из БД

Метод: getField выборка данных по области

Метод: getFieldOnID - выборка данных по номеру

Метод: getAll – вытащить всё

Метод: getAllOnField - вытащить всё по области

Метод: getLastID – получить последний номер

Метод: deleteOnID – удалить запись по номеру

Метод: setField – обновить область

Метод: setFieldOnID – обновить данные по номеру

Метод: getElementOnID – вытащить ячейку по номеру

Метод: getRandomElements – вытащить любой элемент

Метод: getCount – узнать количество элементов

Метод: isExists – существует ли элемент

Метод: existsID – существует ли номер

Метод: search – поиск

Метод: orderResultSearch – превращает результат поиска в ассоциативный массив

Класс GlovalMessage – класс вывода сообщений пользователю

Метод: getTitle – выводит заголовок сообщения

Метод: getText – выводит полный текст сообщения

Класс Manage – класс обработки авторизации и регистрации

Метод: secureData – проверка получаемых данных на безопасность

Метод: redirect – функция редиректа

Метод: regUser – регистрация пользователя

Метод: login – авторизация пользователя

Метод: logout – завершение работы пользователя

Метод: hashPassword – хэшировать пароль

Метод: unknownError – сообщание Неизвестная ошибка

Метод: returnMessage – вернуть сообщение

Метод: returnPageMessage – вернуть страницу сообщения

Класс Menu наследник GlobalClass – класс для работы с меню

Метод: __construct – загружает меню на сайт

Класс Message наследник GlovalMessage – класс для работы с сообщениями

Метод: __construct – обращение и вывод любых сообщений

Класс MessageContent наследник Modules – страница с сообщениями

Метод: getTitle - заголовок

Метод: getDescription – текст сообщения

Метод: getKeyWords – ключевые слова сообщения

Метод: getMiddle – связка заголовка и текста в одно сообщение

Класс Modules – класс работы со страницами

Метод: getUser – авторизация пользователя

Метод: getContent – загрузить контент (статью)

Метод: getMenu – загрузить меню

Метод: getAuthUser – завершить работу пользователя

Метод: getBanners – вывести баннеры

Метод: secureData – провести данные через преобразователи

Метод: getBlogArticles – получить блок статей

Метод: formatDate – узнать дату

Метод: getTemplate – получить шаблон

Метод: getMessage – вывести сообщение

Метод: getPagination – вывести нумерацию

Метод: getReplaceTemplate – получить замену шаблона

Метод: getReplaceContent – заменить содержимое страницы

Метод: redirect - редирект

Метод: notFound – страница не найдена

Класс NotFoundContent наследник Modules – страница 404

Метод: getTitle – выводит надпись 404

Метод: getDescription – выводит сообщение пользователю

Метод: getKeyWords – ключевые слова ошибки

Метод: getMiddle – собирает сообщение об ошибке

Класс RegContent наследник Modules – страница регистрации

Метод: getTitle – заголовок страницы

Метод: getDescription – выводит сообщение пользователю

Метод: getKeyWords – ключевые слова страницы

Метод: getMiddle – собирает страницу

Класс SearchContent наследник Modules

Метод: getTitle – выводит заголовок страницы

Метод: getDescription – выводит сообщение пользователю

Метод: getKeyWords – ключевые слова страницы

Метод: getMiddle – собирает собирает страницу

Класс Section наследник GlobalClass – секции - меню

Метод: __construct – сортирует данные по секциям

Класс SectionContent наследник Modules - класс секции

Метод: getTitle – заголовок секции

Метод: getDescription- гл текст секции

Метод: getKeyWords – ключевые слова секции

Метод: getTop – собирает инфу секции и записывает в заголовки

Метод: getMiddle – ценрт инфа секции

Метод: getBottom – вызывает деление на страницы

Класс User наследник GlobalClass – страница авторизации

Метод: addUser – добавить нового пользователя

Метод: editUser - редактирование пользователя

Метод: isExistsUser – не существует пользователя

Метод: checkUser – проверка существует ли пользователь

Метод: getUserOnLogin – авторизация пользователя

Метод: getUserOnLogin – найти пользователя по логину

Метод: checkValid – правильность написания логина и пароля

Разработка модели данных, проектирование базы данных

Lesson_articles – таблица содержащая в себе все статьи сайта

Id - № статьи

Section_id - № секции меню для данной статьи

Title - заголовок

Intro_text – предварительный текст

Full_text – полный текст

Meta_desc – ключевые слова для поиска по сайту

Meta_key – ключевые слова для поисковиков интернета

Date – дата регистрации. (используется формат – количество секунд с момента появления Unix)

Lesson_banners – таблица баннеров

Id - № банера

Code – код баннера (предоставляется рекламодателем)

Lesson_menu – таблица меню (левое меню сайта)

Id - № пункта

Title – заголовок пункта (отображается на всех страницах слева)

Link – ссылка на пункт

Lesson_sections – таблица секций меню

Id - № секции

Title – заголовок секции

Description – описание секции

Meta_desk - ключевые слова для поиска по сайту

Meta_key - ключевые слова для поисковиков интернета

Lesson_users – таблица пользователи

Id - № пользователя

Login – логин пользователя

Password – пароль пользователя

Regdate - дата регистрации (используется формат – количество секунд с момента появления Unix)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]