PHPackages                             ceive/app-router - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. ceive/app-router

ActiveLibrary

ceive/app-router
================

Routing in application

09PHPCI failing

Since Oct 30Pushed 6y ago1 watchersCompare

[ Source](https://github.com/Ceive/app-router)[ Packagist](https://packagist.org/packages/ceive/app-router)[ RSS](/packages/ceive-app-router/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

php-routing (Ceive\\Routing)
============================

[](#php-routing-ceiverouting)

Сущности:

- Единица вычисления (`Matching`)

    - Имеет доступ к `пути`, в дальнейшем и к самому `HTTPRequest`
- Маршрутизатор (`Router`)

    - Трактуется больше как главный линейный стек/набор маршрутов
    - Пока как источник PatternResolver для Машрутов которые определены в роутере
    - `Router::addPlugin` - Плагины к событиям маршрутизации (Плагин это кастомный объект(stdClass) который может иметь методы-слушатели)
        - `onBegin($matching);` - Перед началом вычисления в Маршрутизаторе
        - `onConformed($matching, $route);` - При сопоставлении Шаблона в маршруте
        - `onCheckEnv($matching, $route);` - Проверка окружения после `onConformed`
        - `onReached($matching, $route);` - При полном сопоставлении и прохождения пути по шаблонам
        - `onFinish($matching, $route);` - Стек событий завершения маршрутизации после `onReached`
        - `onPrepareRenderParams($route, $params);` - Подготовка параметров для отрисовки
- Маршрут (`Route`)

    - Интерфейс для получения имен плейсхолдеров
    - Вычисление `match` объекта `Matching`
    - Рендеринг шаблона по переданным аргументам в качестве подстановщиков и пре-обработки
    - Ключевые методы для кастомизации и дальнейшего расширения
        - `_matchingConfirmed(Matching $matching)` - Доступны параметры шаблона, пополнение Matching объекта параметрами(Биндинги/Конвертация) и ссылкой
        - `_checkEnv(Matching $matching)` - Проверка окружения, здесь предполагается проверка HTTP запросов, отсуда может произойти выброс в случае не удачи

Нужно подсоеденить ORM и маппинг для Binding ORM Projection paths Выборка нужного объекта по его пути.

Разделение биндингов маршрута на разные типы

- Статический

    - Если объекты по идентификатору не найдены То происходит ошибка уровня не соответствия Это ошибка типа `404 not found`
- Динамический `continuable route`

    - Если объекты по идентификаторам не найдены То маршрутизатор переходит к следующему маршруту минуя текущий - не соответствуюший

Предполагаемые проверки\\реакции на HTTP запрос

- Наличие SSL шифрования (`http|https`)
- Доменное `имя/под-домен/зона`
- Метод запроса (`Method: GET POST PUT HEAD OPTIONS`)
- `GET/POST` параметры запроса
- `JSON/XML` Объект при POST запросе (вместо POST Параметров)
- Смешанный режим `POST-params/Файлы/JSON|XML` (`multipart/form-data | multipart`)
- Заголовки (`Accept | Accept-Encoding`) `application/json text/html text/*`
- Защита от неожиданных запросов с клиента и `реакция нормализации`(CSRF protection) например `Accept: image/*` не семантичный контроллеру проводящему действие `CRUD`

Передача приложению сигнала к реагированию (Перенаправление / Ошибка уровня запроса(BAD REQUEST))

brainstorm:

- Локации приложения / Родительские цепочки
- Переключение опций Диспетчеризации и составляющих активных компонентов системы
- Интеграция ORM(Чтение/Метаданные Секторов) для Биндинга и т.п
- Интеграция HTTP(Атрибуты запроса, Аргументы форм и Контроллеров)

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/5f1ffa46714a01ca6c7abbd3ce8527c1e34002dbc677b479b83bb1e1600ee567?d=identicon)[Ceive](/maintainers/Ceive)

---

Top Contributors

[![lexus27](https://avatars.githubusercontent.com/u/9652768?v=4)](https://github.com/lexus27 "lexus27 (5 commits)")

---

Tags

applicationhmvcphpphp-routingrouterouterrouting

### Embed Badge

![Health badge](/badges/ceive-app-router/health.svg)

```
[![Health](https://phpackages.com/badges/ceive-app-router/health.svg)](https://phpackages.com/packages/ceive-app-router)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
