Рабочая тетрадь(4)
.pdf
Структура
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 Фремворков
