ДОКУМЕНТАЦИЯ

Цель:

получить фреймворк с прозрачной схемой работы роутер - контроллер - модель - представление для обработки двух схем: получение гет параметров, выборки данных из бд, формирование html-страницы получчение пост данных, запись данных в бд, формирование html-сообщения о выполненной операции или возникшей ошибке.


Темы для изучения теории по php фреймворкам.

php mvc

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. Изучаем архитектуру фреймворков