Download the PHP package sunrise/http-router without Composer
On this page you can find all versions of the php package sunrise/http-router. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sunrise/http-router
More information about sunrise/http-router
Files in sunrise/http-router
Package http-router
Short Description HTTP router for PHP 8.1+ based on PSR-7 and PSR-15 with support for attributes and Swagger
License MIT
Homepage https://github.com/sunrise-php/http-router
Informations about the package http-router
HTTP router for PHP 7.1+ based on PSR-7 and PSR-15 with support for annotations/attributes and OpenAPI (Swagger) Specification
psr router, router with annotations, router with attributes, php router.
Installation
Support for OpenAPI (Swagger) Specification (optional)
More details can be found here: sunrise/http-router-openapi.
QuickStart
This example uses other sunrise packages, but you can use e.g. zend/diactoros
or any other.
Examples of using
Study sunrise/awesome-skeleton to understand how this can be used.
Strategy for loading routes from configs
Please note that since version 2.10.0 class
ConfigLoader
must be used.Please note that since version 2.10.0 you can refer to the request handler in different ways.
Strategy for loading routes from descriptors (annotations or attributes)
Install the doctrine/annotations package if you will be use annotations:
Please note that since version 2.10.0 class
DescriptorLoader
must be used.Please note that since version 2.10.0 you can bind the @Rote() annotation to a class methods.
Without loading strategy
Error handling example
Work with PSR-11 container
Collector
Config loader
Descriptor loader
Descriptors cache (PSR-16)
Route Annotation Example
Minimal annotation view
Full annotation
One method only
Route Attribute Example
Minimal attribute view
Full attribute
Additional annotations
Useful to know
JSON-payload decoding
Get a route by name
Get a current route
Through Router
Available from version 2.12.
Through Request
Available from version 1.x, but wasn't documented before...
Through Event
Available from version 2.13.
Generation a route URI
Run a route
Route grouping
Example for annotations here.
Route patterns
Global route patterns
It is better to set patterns through the router:
...or through the router's builder:
Hosts (available from version 2.6.0)
Note: if you don't assign a host for a route, it will be available on any hosts!
You can resolve the hostname since version 2.14.0 as follows:
Also you can get all routes by hostname:
Route Holder
The router builder
CLI commands
Events
Available from version 2.13
Test run
Useful links
All versions of http-router with dependencies
fig/http-message-util Version ^1.1
psr/container Version ^1.0 || ^2.0
psr/event-dispatcher Version ^1.0
psr/http-factory Version ^1.0
psr/http-message Version ^1.0 || ^2.0
psr/http-server-handler Version ^1.0
psr/http-server-middleware Version ^1.0
psr/log Version ^1.0 || ^2.0 || ^3.0
psr/simple-cache Version ^1.0 || ^2.0 || ^3.0