codememory / routing
Routing
v1.4
2022-01-14 15:51 UTC
Requires
- codememory/config: 2.0
- codememory/dependency-injection: 1.0.1
- codememory/global-config: 1.1.1
- codememory/http-foundation: 2.2
- codememory/json-parser: ^1.0
- codememory/service-provider: 1.0.1
- codememory/support: 1.2.1
- codememory/view: 1.0.1
Requires (Dev)
- symfony/var-dumper: ^5.2
README
Установка
composer require codememory/routing
Обязательно выполняем следующие команды, после уставки пакета
- Создание глобальной конфигурации, если ее не существует
php vendor/bin/gc-cdm g-config:init
- Merge всей конфигурации
php vendor/bin/gc-cdm g-config:merge --all
Папка .config хранит в себе глобальную конфигурацию пакетов codememory
Обзор конфигурации
# configs/routing.yaml routing: _settings: # Path with route files pathWithRoutes: App/Routing/Routes/ # Namespace for Software softwareNamespace: Codememory\Routing\App\Routing\Software\ # Suffix for file with routes routesFileSuffix: null # List added routes _routes: # Route name test: path: 'test/:id' # Route path, with parameter id method: 'GET' # HTTP Method class: # Handler for route controller: Codememory\Routing\App\Controllers\TestController method: main # Regular Expressions for Route Path Parameters parameters: id: '\d+' name: '[a-zA-Z]+' # Route software software: Auth: api # SoftwareName:MethodName CheckIp: api schemes: - http - https
После установки, достаточно вызвать методы __constructStatic
и после него вызвать уже processAllRoutes
.
Если вы хотите, чтоб маршруты еще подгружались из файлов. Достаточно вызвать метод initializingRoutesFromConfig перед вызовом processAllRoutes
Примеры инициализации
Инициализация маршрутов, без учета файлов
<?php use Codememory\Routing\Router; use Codememory\HttpFoundation\Request\Request; require_once 'vendor/autoload.php'; Router::__constructStatic(new Request()); Router::processAllRoutes();
Инициализация маршрутов из конфигурации и файлов
<?php use Codememory\Routing\Router; use Codememory\HttpFoundation\Request\Request; require_once 'vendor/autoload.php'; Router::__constructStatic(new Request()); Router::initializingRoutesFromConfig(); Router::processAllRoutes();
Примеры использования маршрутов. Смотрите в файле .example