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

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», состоящей из полей:

  1. Id;

  2. Title;

  3. 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// конец секции

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