Download the PHP package middlewares/base-path-router without Composer
On this page you can find all versions of the php package middlewares/base-path-router. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download middlewares/base-path-router
More information about middlewares/base-path-router
Files in middlewares/base-path-router
Package base-path-router
Short Description A PSR-15 middleware for hierarchical dispatching based on path prefixes
License MIT
Homepage https://github.com/middlewares/base-path-router
Informations about the package base-path-router
middlewares/base-path-router
A middleware dispatching to other middleware stacks, based on different path prefixes.
Requirements
- PHP >= 7.2
- A PSR-7 http library
- A PSR-15 middleware dispatcher
Installation
This package is installable and autoloadable via Composer as middlewares/base-path-router.
You may also want to install middlewares/request-handler.
Example
This example uses middleware/request-handler to execute the route handler:
BasePathRouter allows anything to be defined as the router handler (a closure, callback, action object, controller class, etc). The middleware will store this handler in a request attribute.
Usage
You have to set an array of paths (as keys) and handlers (as values).
Optionally, you can provide a Psr\Http\Message\ResponseFactoryInterface
as the second argument, to create the error responses (404
) if the router is not found. If it's not defined, Middleware\Utils\Factory will be used to detect it automatically.
continueOnError
Set true
to continue to the next middleware instead return an empty 404 response for non-matching requests (i.e. those that do not have an URI path start with one of the provided prefixes).
stripPrefix
By default, subsequent middleware will receive a slightly manipulated request object: any matching path prefixes will be stripped from the URI.
This helps when you have a hierarchical setup of routers, where subsequent routers (e.g. one for the API stack mounted under the /api
endpoint) can ignore the common prefix.
If you want to disable this behavior, use the stripPrefix
method:
attribute
The attribute name used to store the handler in the server request. The default attribute name is request-handler
.
Please see CONTRIBUTING for contributing details.
The MIT License (MIT). Please see LICENSE for more information.
All versions of base-path-router with dependencies
middlewares/utils Version ^3.0
psr/http-server-middleware Version ^1.0