Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Рабочая тетрадь(4)

.pdf
Скачиваний:
36
Добавлен:
10.02.2016
Размер:
7 Мб
Скачать
☆

Структура

application

▪contrlollers

▪models

▪views

images

styles

o .htaccess

o index.php (bootstrap)

.htaccess

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule !\.(js|gif|jpg|png|css)$ index.php

Инициализация

путей по-умолчанию для поиска файлов

необходимых конфигурационных данных

автозагрузки классов

Инициализация FrontController

Роутинг

Вывод данных

Создание экземпляра класса FrontController

Конструктор

определение необходимого контроллера

определение необходимого действия

парсинг параметров

Роутинг

инициализация текущего контроллера

инициализация текущего действия

Вспомогательные методы

Действия (actions)

инициализация экземпляра класса FrontController

инициализация необходимой модели

обработка необходимых данных

передача данных модели

получение результата от модели

передача результата во FrontController

Модель

Обработка данных

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

Возврат результата в контроллер

Представление

Заполнение шаблона

Лабораторная работа 5

Создание и использование MVC-фреймворка

Упражнение 1: Создание поведения

•Перенесите содержимое папки C:\Users\Public\OpenServer\domains\mysite.local\mvc

на уровень выше, то есть в папку mysite.local

•В папке application\controllers\ создайте файл UserController.php

•В файле UserController.php создайте класс UserController, который наследует интерфейс IController

•В классе UserController создайте действие (action) hello, то есть метод helloAction

•Метод должен быть отработан при получении URL вида /user/hello/name/john

•Получите необходимые параметры и передайте их модели FileModel

•Представление для данного действия находится в папке views, имя файла - константа

USER_DEFAULT_FILE

•Сохраните файл application\controllers\UserController.php

•Запустите браузер

•В адресной строке наберите http://mysite.local/user/hello/name/john

•Вы должны получить строку Hello, john!

•Проверьте других пользователей

Упражнение 2: Создание действия и представления для вывода списка пользователей

•В классе UserController создайте действие (action) list

•Метод должен быть отработан при получении URL вида /user/list/

•Задача: получить и вывести список пользователей

•Получите необходимые параметры и передайте их модели FileModel

•Представление для данного действия находится в папке views, имя файла - константа

USER_LIST_FILE

•Сохраните файл application\controllers\UserController.php

•В тестовом редакторе откройте файл application\views\user_list.php

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

•Сохраните файл application\views\user_list.php

•Запустите браузер

•В адресной строке наберите http://mysite.local/user/list

•Вы должны увидеть список пользователей в виде HTML-списка

Упражнение 3: Создание действия и представления для вывода роли пользователя

•В классе UserController создайте действие (action) get

•Метод должен быть отработан при получении URL вида /user/get/role/john/

•Задача: получить и вывести роль пользователя

•Получите необходимые параметры и передайте их модели FileModel

•Проверьте, есть ли данный пользователь в списке

•Представление для данного действия находится в папке views, имя файла - константа

USER_ROLE_FILE

•Сохраните файл application\controllers\UserController.php

•В тестовом редакторе откройте файл application\views\user_role.php

•Если пользователь существует, то выведите строку User имя_пользователя is

роль_пользователя

•Если пользователь в списке отсутствует, то выведите строку Unknown user

имя_пользователя

•Сохраните файл application\views\user_role.php

•Запустите браузер

•В адресной строке наберите http://mysite.local/user/get/role/john

•Вы должны увидеть строку User john is admin

•Проверьте других пользователей

•Введите имя, которое отсутствует в списке

Упражнение 4: Создание действия и представления для добавления пользователя в список

•В классе UserController создайте действие (action) add

•Метод должен быть отработан при получении URL

вида /user/add/name/igor/role/admin

•Задача: добавить переданное имя пользователя и его роль в общий список

•Получите необходимые параметры, добавьте нового пользователя в список и передайте параметры модели FileModel

•Представление для данного действия находится в папке views, имя файла - константа

USER_ADD_FILE

•Сохраните файл application\controllers\UserController.php

•В тестовом редакторе откройте файл application\views\user_add.php

•Выведите строку New user имя_пользователя : роль_пользователя

•Сохраните файл application\views\user_role.php

•Запустите браузер

•В адресной строке наберите http://mysite.local/user/add/name/igor/role/admin

•Вы должны увидеть строку New user igor : admin

•В адресной строке наберите http://mysite.local/user/list

•Вы должны увидеть нового пользователя в общем списке

Выбор фреймворка

архитектура,

документация,

коммьюнити,

поддержка,

гибкость

Шаблон проектирования MVC

MVC и ООП

Обзор PHP Фремворков