- •Введение
- •Часть 1.Техническое задание
- •1.1.Цель
- •1.1.Задачи
- •1.3.Технические требования
- •1.4.Требования к сервисам и функциональности веб-портала
- •1.5.Требования к системе управления веб-порталом
- •Часть 2.Технико-экономическое обоснование проекта
- •Часть 3. Анализ поставленных задач и разработка на структурном уровне
- •2.1. Анализ и выбор базы данных
- •2.2. Анализ и выбор web-сервера
- •2.3. Анализ и выбор Фреймворка
- •2.4. Анализ и выбор языков программирования
- •Часть 4. Разработка программных средств
- •4.1.Установка и настройка компонентов
- •4.2. Регистрация пользователей
- •4.3.Авторизация пользователей
- •4.4. Возможности администрирования
- •4.5. Отображение страниц web-портала.
- •4.6.Архитектура программного средства
- •Глава 5. Экономическая часть
- •5.1. Планирование комплекса работ по разработке темы и оценка трудоемкости
- •5.2. Расчет затрат на разработку проекта
- •5.3. Расчёт прибыли
- •5.4. Расчет показателя экономического эффекта
- •Заключение литература
4.3.Авторизация пользователей
Для возможности пользователей авторизоваться на web-портале, необходимо подключить в модель user - модель «authenticatable». Она содержит в себе набор следующих функций:
Получение id пользователя: public function getAuthIdentifier()
{return $this->getKey();}
Получение пароля пользователя: public function getAuthPassword()
{return $this->password;}
Далее для каждого поля авторизации необходимо описать, с какими данными из таблицы пользователей оно будет сравниваться:
‘name = “необходимое значение (к примеру, user_name или email)” ’.
Http маршрутизация описана в route::controllers {‘auth’}.
Пользователь может попасть на страницу авторизации по следующему маршруту – «http://mininabiturients.ru/auth/login»
4.4. Возможности администрирования
Для более удобного управления web-порталом необходима возможность администрирования. Большие объемы информации, такие как содержание модуля информации, хранятся в базе данных, а не на HTML страницах, соответственно необходимо создать формы создания и редактирования модуля.
Для управления модулями необходимо создать модель модулей «Article». В ней будут описаны правила заполнения таблицы «articles», состоящей из полей:
Id;
Title;
Body;
Содержание модели «Article»:
class Article extends \Eloquent {
protected $fillable = ['title','body' ];
}
Далее необходимо описать правила ограничения на вводимые данные. Функция имеет следующий код:
public function rules()
{return [
'title'=>'required|min:3'// минимальная длина названия модуля 3 символа.
'body'=>'required'// поле тела модуля должно быть не пустым.
];}
Форма создания и редактирования состоит из двух полей (См Рис.25) – поле названия и поле содержания. Каждое из полей записывает данные в соответствующие ячейки базы данных.
Рис.25. Форма создания и изменения модулей
4.5. Отображение страниц web-портала.
Для отображения страниц web-портал необходимо настроить http-маршрутизацию и описать функции контроллеров, отвечающих за вывод страниц.
Главная страница:
HTTP маршрут: Route::get('/', 'PagesController@Guest')
Функция контроллера: public function Guest()
{return view('pages.GuestPage');}
Страница кафедры:
HTTP маршрут: Route::get('faculty', 'PagesController@Faculty')
Функция контроллера: public function Faculty()
{return view('pages.FacultyPage');}
Страница преподавателей
HTTP маршрут: Route::get('teachers', 'PagesController@FacultyShowTeachers')
Функция контроллера: public function FacultyShowTeachers()
{return view('pages.teachers');}
Страница выбора траектории обучения.
HTTP маршрут: Route::get('learning', 'PagesController@LearningPage'public Функция контроллера: function LearningPage()
{return view('pages.learning');}
Страница выбора направления обучения
HTTP маршрут: Route::get('learning_individ', 'PagesController@IndLearn')
Функция контроллера: public function IndLearn()
{return view('pages.learning_individ');}
Профиль пользователя
HTTP маршрут: Route::get('me', 'PagesController@UserPage')
Функция контроллера: public function IndLearn()
{return view('pages.learning_individ');}
Страница выбора программы обучения
HTTP маршрут: Route::get('choose_module', 'PagesController@ShowVibor')
Функция контроллера: public function ShowVibor()
{return view('pages.choose_module');}
Страница партнеров
HTTP маршрут: Route::get('partners', 'PagesController@PartnersShow')
Функция контроллера: public function PartnersShow()
{return view('pages.partners');}
Страница форума
HTTP маршрут: Route::get('forum', 'PagesController@ShowForum')
Функция контроллера: public function ShowForum()
{return view('pages.forum');}
Страница интерактивного календаря
HTTP маршрут: Route::get('busy', 'PagesController@ShowBusy')
Функция контроллера: public function ShowBusy()
{return view('pages.busy');}
Страница отображения всех модулей
HTTP маршрут: Route::get('articles','ArticlesController@index')//
Функция контроллера: public function index()
{$articles = Article::latest()->get();
return view ('articles.articles', compact('articles'));}
Страница отображения отдельного модуля
HTTP маршрут: Route::get('articles/{id}','ArticlesController@show')
Функция контроллера: public function show($id)
{$article = Article::findOrFail($id);
return view ('articles.show', compact('article'));}
Следующим шагом нужно написать отображаемые страницы и подстроить их под шаблон. Каждая страница будет иметь следующую структуру:
@extends(‘app’)// подключение шаблона
@section(‘content’)// секция для кода страницы
Код страницы.
@endsection// конец секции
