freeframework__core_service__https_router
Описание
Языки
- PHP100%
Документация по сервису FreeFramework core-service-https-router
Оглавление
Обзор пакета
— это базовый сервис https роутинга FreeFramework обрабатывающий https запросы, поддерживает три расширение:
- FreeFramework\CoreService\HttpsRouter\Interfaces\Optional\CookieInterface::class - сервис для управления cookie.
- FreeFramework\CoreService\HttpsRouter\Interfaces\Optional\PageControllerInterface::class - базовый сервис для финализации https запроса.
- FreeFramework\CoreService\HttpsRouter\Interfaces\Optional\SessionInterface::class - сервис для управления сессиями.
Назначение пакета
Пакет определяет базовую директорию (далее base_dir) для иерархии конфигураций сервисов в соответствии с началом запроса (ключ в конфигурации "path_page_dir"). Базовая директория определяеться относительно места вызова ядра фреймворка. Приоритет: абсолютный путь -> относительный путь -> директория вызова если ключь не задан или не корректен. Задает шаблон директории финализации запроса, по дефолту "_". Приоритет: точность запроса. Примеры в таблице:
Обозначения
– базовая директория, переданная вpages/.path_page_dir– значение_(по умолчанию).multi_request_dir– файл конфигурации, который загружается при совпадении.config.php– путь, сохранённый в хранилище данных.core.directory– массив оставшихся сегментов пути (если есть).core.page_request
Структуры конфигураций
1
pages/ # базовая директория ├── config.php # корневой конфиг └── about/ # реальная папка └── config.php # её конфиг
2
pages/ └── products/ # реальная папка └── _/ # папка-обработчик параметров └── config.php # конфиг для динамических URI
3
pages/ └── blog/ └── posts/ # реальная папка ├── config.php # её конфиг └── _/ # папка-обработчик └── config.php # конфиг для вложенных параметров
4
pages/ └── cat/ └── electronics/ └── phones/ # конечная реальная папка ├── config.php # её конфиг └── _/ # папка-обработчик └── config.php # конфиг для параметров (ID, etc.)
5
pages/ ├── config.php # корневой конфиг ├── _/ # корневой обработчик │ └── config.php # конфиг для любых неизвестных URI └── about/ # реальная папка └── config.php # её конфиг
Таблица примеров
| Структура | Пример запроса | core.directory | core.page_request | Загруженный config.php |
|---|---|---|---|---|
| 1 | | | не установлен | |
| 1 | | | не установлен | |
| 1 | | (пусто) | | не загружен |
| 2 | | | не установлен | не загружен |
| 2 | | | | |
| 2 | | | | |
| 3 | | | не установлен | |
| 3 | | | | |
| 3 | | | | |
| 4 | | | не установлен | |
| 4 | | | | |
| 4 | | | | |
| 5 | | | не установлен | |
| 5 | | | не установлен | |
| 5 | | | | |
| 5 | | | | |
| 5 | | (пусто) | | не загружен |
Требования
- PHP: версия 8.2 или выше
- Composer: для управления зависимостями
- "freeframework/core-service-kernel": "^1.0.0"
Общие данные по версиям сервисов
- Версии a и b - не совместимы.
- Версии a.b и a.c - обратно совместимы.
- Версии a.b.c и a.b.d - прямо и обратно совместимы.