ДОКУМЕНТАЦИЯ
Цель:
получить фреймворк с прозрачной схемой работы роутер - контроллер - модель - представление для обработки двух схем: получение гет параметров, выборки данных из бд, формирование html-страницы получчение пост данных, запись данных в бд, формирование html-сообщения о выполненной операции или возникшей ошибке.
Темы для изучения теории по php фреймворкам.
1. Упростить index
Рефакторинг проводится на базе фреймворка Максима.
Индексную переделаваем так:
session_start();
require_once DIR . '/config/database.php';
require_once 'Router.php';
$listRoute = require_once DIR . '/config/route.php';
$router = new Router();
$router->add($listRoute);
$router->dispatch();
2. Упростить массив роутера
Поставить метод на 3е место
Гет не указывать, указать только там где пост.
А в методе который разбирает массив - использовать
$method = $route[2] ?? 'GET';
То есть ввести значение по умолчанию.
Сами правила маршрутизации убрать в массив в файл config/router.php И метод add переделать так, чтобы он съедал не отдельный роут из трёх параметров, а весь массив одним параметром и внутри уже циклом всё добавлял.
Как подключать файл в переменную учебник php 356 урок.
3. Правило роута
В htaccess закройте прямой доступ к картинка css и js.
Маршрутизатор(route) надо дописать, так что если ни одно правило не подходит, то:
Если в роуте один параметр, чтобы кидало на модуль page и название метода. Например:
site.ru/about
Отправляет на
/module/page/controller->about();
Если два и более параметров на
/module/mod_name/controller->method_name()
Например:
site.ru/catalog/product/35
На
/module/catalog/controller->product([35]);
Если модуль или метод не найдены на 404ю
4. Подключение к БД
Сейчас в ядре прописано подключение pdo, добавляем файл db_mysqli в config там создаем подключение mysqliconnect - просто чтобы у пользователя был выбор какой файл подклчить и какое подключение использовать на сайте.
5. Тестирование
изучить как устроены контроллеры и вьюшки. Как обрабатываются формы.
Если всё работает сделайте для проверки новую страницу с новой сущностью с категориями, деталками, пагинатором и формой отзывов привязанных к элементам этой сущности.
Используйте бутстрап, чтобы не верстать.
В остальном по контроллерам посмотрел - больше нам ничего не нужно делать.
6. Документация
Пишем документацию в файл readme:
как пользоваться этим фреймворком для разработки любой страницы.
Как описывать правила роутера.
Описываем логику контроллеров:
- как создавать шаблон
- страницы с категориями
- страницы с пагинатором
- формы и их обработка
Архивируем.
Документацию отправьте на почту руководителю.
7. Чистка
Удаляем всё кроме индексной и about. Чистим до минимума эти страницы, шаблон, js, стили. Оставляем только бутстрап
Чтобы на страницах были только маркеры для заголовка, меню и контента.
В самом шаблоне надписи:
"Тут размести хидер", "тут размести футер".
На страницах надписи:
Главная, о нас.
В меню ссылки на эти две страницы. Роут с правилом только для главной, в контроллере page метод about.
Если всё сделали правильно обе страницы будут открываться
Снова архивируем и скидываем эту версию. Её и предоставят на экзамен.
Все архивы и документацию скидываем на почту руководителя
1. Изучаем архитектуру фреймворков
- Последнюю главу Основного учебника
- Первые пять глав учебника ООП
- Весь php учебник по MVC
- Главы Функции, формат json, PDO из 4го учебника по PHP
- Посмотреть все серии начиная с видео о разработке на Laravel