Під час виконання проекту, були створені базові класи, відповідні користувачам системи (мал. 9):
В· Admin;
В· Tutor;
В· Index.
В
Рис.9. Базові класи ІС
Таким чином, були описані програмні модулі ІС і виділені базові класи для подальшої їх реалізації.
5.1.1 Реалізація базових класів контролера
5.1.1.1 Клас Tutor
Розроблено Class Tutor, який відповідає за роботу з навчальним матеріалом та обліку успішності студентів.
Були створені контролери за функціями викладача (рис. 10).
В
Рис.10. Контролери класу Tutor
У контролері courses.php описаний клас Controller_Tutor_Courses, який включає методи action_index () для перегляду всього списку курсів. Коли користувач натискає на назву курсу, спрацьовує метод action_view (), який відповідає за надання списку лекцій обраного курсу. Метод action_add () відповідає за додавання нового курсу. При додаванні нового курсу заповнюються такі поля: "Назва", "Опис", "Категорія", В«СтатусВ». p align="justify"> Метод action_edit () відповідає за зміну інформації про курс, таких як В«НазваВ», В«ОписВ», В«КатегоріяВ», В«СтатусВ».
Метод action_delete () видаляє курс та лекції всередині курсу.
Для даного контролера є властивість public $ template = 'tutor/base', який визначає базовий шаблон подання викладача.
Нижче детально розглянуто кожен метод в контролері courses.php класу Controller_Tutor_Courses.
Після авторизації викладач потрапляє в свій особистий кабінет, де є у нього сторінки В«Управління курсамиВ», В«Управління тестамиВ» В«Успішність студентівВ». Коли викладач переходить на сторінку В«Управління курсамиВ», спрацьовує метод action_index () (Лістинг 1). p align="justify"> Лістинг 1. Метод action_index () контролера courses.php класу Controller_Tutor_Courses
В
На сторінці відображається таблиця з назвою курсу, розділ до якого курс відноситься і дії, такі як В«ВидалитиВ» і В«РедагуватиВ».
Перед тим як перейти на сторінку В«Управління курсамиВ», йде перевірка на активну сесію викладача (Лістинг 2). Якщо намагається вийти доступ до цієї сторінки інший користувач, то відбудеться перенаправлення на сторінку авторизації. p align="justify"> Лістинг 2. Перевірка на активну сесію викладача
if (! Auth :: instance () -> logged_in ('tutor')) {
$ this-> request-> redirect ('auth/login');
} <...