freeframework/core-service-https-router

The main https routing service of the framework from FreeFramework. Alpha version.

Maintainers

Package info

gitverse.ru/aniks/freeframework__core_service__https_router

pkg:composer/freeframework/core-service-https-router

Statistics

Installs: 4

Dependents: 1

Suggesters: 0

v1.0.0 2026-04-21 18:19 UTC

This package is not auto-updated.

Last update: 2026-04-22 16:30:57 UTC


README

Оглавление

Обзор пакета

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_pagedir"). Базовая директория определяеться относительно места вызова ядра фреймворка. Приоритет: абсолютный путь -> относительный путь -> директория вызова если ключь не задан или не корректен. Задает шаблон директории финализации запроса, по дефолту "". Приоритет: точность запроса. Примеры в таблице:

Обозначения

  • 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.directorycore.page_requestЗагруженный config.php
1/pages/не установленpages/config.php
1/aboutpages/aboutне установленpages/about/config.php
1/about/team"" (пусто)['team']не загружен
2/productspages/productsне установленне загружен
2/products/123pages/products/_['123']pages/products/_/config.php
2/products/123/editpages/products/_['123', 'edit']pages/products/_/config.php
3/blog/postspages/blog/postsне установленpages/blog/posts/config.php
3/blog/posts/2024pages/blog/posts/_['2024']pages/blog/posts/_/config.php
3/blog/posts/2024/01/15pages/blog/posts/_['2024', '01', '15']pages/blog/posts/_/config.php
4/cat/electronics/phonespages/cat/electronics/phonesне установленpages/cat/electronics/phones/config.php
4/cat/electronics/phones/iphone-14pages/cat/electronics/phones/_['iphone-14']pages/cat/electronics/phones/_/config.php
4/cat/electronics/phones/iphone-14/specspages/cat/electronics/phones/_['iphone-14', 'specs']pages/cat/electronics/phones/_/config.php
5/pages/не установленpages/config.php
5/aboutpages/aboutне установленpages/about/config.php
5/anypages/_['any']pages/_/config.php
5/any/thing/elsepages/_['any', 'thing', 'else']pages/_/config.php
5/about/extra"" (пусто)['extra']не загружен

Требования

  • PHP: версия 8.2 или выше
  • Composer: для управления зависимостями
  • "freeframework/core-service-kernel": "^1.0.0"

Общие данные по версиям сервисов

  • Версии a и b - не совместимы.
  • Версии a.b и a.c - обратно совместимы.
  • Версии a.b.c и a.b.d - прямо и обратно совместимы.