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

Структура web-приложения Определение основных страниц

На сайте определены следующие основные страницы:

  1. Главная страница

  2. Страница авторизации (вход/регистрация)

  3. Страница со списком пользователей

  4. Страница просмотра профиля пользователя

  5. Страница со списком категорий пользователя

  6. Страница со списком всех альбомов и альбомов пользователя

  7. Страница со списком фотографий по альбомам, по пользователям

  8. Страница поиска

Помимо этого, каждая страница будет разделена на несколько областей:

Главное меню

Форма поиска

Меню пользователя

Боковая панель

Основной блок

Подвал

Определение реализации страниц

Каждая сущность (пользователи, фотографии, альбомы …) будет иметь свой Контроллер, Модель и набор Видов. Контроллеры, модели и виды – это три кита шаблона MVC. В контроллерах определяются действия, модели возвращают данные из различных источников (обычно, баз данных), а виды определяют представление.

Контроллеры

Контроллер, в контексте фреймворка CodeIgniter – это PHP класс с именем, совпадающим с названием страницы. Контроллер определяет действия, производимые над сущностью, каждое из которых представлено методом класса-контроллера. Контроллер определяет поведение страницы в зависимости от направленного ей запроса.

Контроллер создается наследованием от класса-родителя CI_Controller. Все пользовательские контроллеры CodeIgniter по умолчанию располагают в папке application/controllers. Для более удобной работы был создан общий класс-контроллер для всех страниц с общими методами MY_Controller:

<?php

/*

* Расширенный контроллер

*/

class MY_Controller extends CI_Controller

{

/*

* Данные пользователя

*/

public $user = array();

/*

* Данные вида

*/

public $data = array();

public function __construct()

{

parent::__construct();

/*

* Проверяем, авторизирован ли пользователь

*/

...

}

/**

* Проверка авторизации

*/

protected function checkAuthorization( $redirect = "" ) {}

/**

* Установка ошибки

*/

public function setError( $msg, $redirect = "" ) {}

/**

* Установка сообщения

*/

public function setMessage( $msg, $redirect = "" ) {}

}

Таким образом, я определил некоторые общие методы и свойства, которые необходимы для функционирования системы без дополнительных запросов.

Модели

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

Модель создается наследованием от класса-родителя CI_Model. Модели создаются в папке application/models.

Виды

Виды – это файлы с кодом представления на каком-либо языке разметки. В видах определены места для последующей подстановки в них значений, что обеспечивает возможность дифференцирования представления целой страницы на отдельные ее части. Набор представлений располагается в папке application/views.

Описание страниц

Пользователи

Страница «Пользователи» контролируется контроллером users и моделью users_model. Контроллер предоставляет следующие возможности для работы с пользователями:

Действие

Метод

Просмотр списка пользователей

index

Просмотр профиля пользователя

user

Вход пользователя в систему

login

Выход пользователя из системы

logout

Регистрация пользователя

registration

Редактирование профиля

edit

Удаление профиля

delete

Восстановление пароля

restore

Структура контроллера users следующая:

<?php

class Users extends MY_Controller

{

/**

* Количество пользователей на странице

*/

private $_users_per_page = 3;

public function __construct()

{

parent::__construct();

}

/**

* Вывод списка пользователей

*/

public function index( $page = 1 ) {}

/**

* Просмотр профиля пользователя

*/

public function user( $id = null ) {}

/**

* Вход пользователя в систему

*/

public function login(){}

/**

* Регистрация пользователя

*/

public function registration() {}

/**

* Выход пользователя из системы

*/

public function logout() {}

/**

* Редактирование профиля

*/

public function edit() {}

/**

* Деактивация профиля

*/

public function delete() {}

/**

* Напоминание пароля

*/

public function restore() {}

}