Pickles Framework Documentation

Router
in package

Class Router

A simple HTTP router that maps URIs and HTTP methods to handlers. Supports typical RESTful HTTP methods and route resolution.

Table of Contents

Properties

$routes  : array<string, array<string|int, Route>>
The registered HTTP routes, organized by HTTP method.

Methods

__construct()  : mixed
Router constructor.
delete()  : Route
Registers a DELETE route.
get()  : Route
Registers a GET route.
patch()  : Route
Registers a PATCH route.
post()  : Route
Registers a POST route.
put()  : Route
Registers a PUT route.
resolve()  : Response
Resolves the given request to a corresponding route and executes the route's action.
resolveRoute()  : Route
Resolves a request to a matching route.
execMiddlewares()  : Response
Executes all middlewares before launch the handler
registerRoute()  : Route
Registers a new route for a specific HTTP method.

Properties

$routes

The registered HTTP routes, organized by HTTP method.

protected array<string, array<string|int, Route>> $routes = []

An associative array where each key is an HTTP method name (e.g. "GET") and the value is an array of Route objects for that method.

Methods

__construct()

Router constructor.

public __construct() : mixed

Initializes the routes array for each available HTTP method.

delete()

Registers a DELETE route.

public delete(string $uri, Closure|array<string|int, mixed> $action) : Route
Parameters
$uri : string
$action : Closure|array<string|int, mixed>
Return values
Route

get()

Registers a GET route.

public get(string $uri, Closure|array<string|int, mixed> $action) : Route
Parameters
$uri : string
$action : Closure|array<string|int, mixed>
Return values
Route

patch()

Registers a PATCH route.

public patch(string $uri, Closure|array<string|int, mixed> $action) : Route
Parameters
$uri : string
$action : Closure|array<string|int, mixed>
Return values
Route

post()

Registers a POST route.

public post(string $uri, Closure|array<string|int, mixed> $action) : Route
Parameters
$uri : string
$action : Closure|array<string|int, mixed>
Return values
Route

put()

Registers a PUT route.

public put(string $uri, Closure|array<string|int, mixed> $action) : Route
Parameters
$uri : string
$action : Closure|array<string|int, mixed>
Return values
Route

resolve()

Resolves the given request to a corresponding route and executes the route's action.

public resolve(Request $request) : Response
Parameters
$request : Request

The incoming HTTP request to be resolved.

Tags
throws
HttpNotFoundException

If the resolved route's action is not a valid Closure.

Return values
Response —

The HTTP response generated by the resolved route's action.

resolveRoute()

Resolves a request to a matching route.

public resolveRoute(Request $request) : Route
Parameters
$request : Request

The HTTP request instance.

Tags
throws
HttpNotFoundException

If no matching route is found for the request.

Return values
Route —

The matched route instance.

execMiddlewares()

Executes all middlewares before launch the handler

protected execMiddlewares(Request $request, array<string|int, Middleware> $middlewares, Closure|array<string|int, mixed> $target) : Response
Parameters
$request : Request
$middlewares : array<string|int, Middleware>
$target : Closure|array<string|int, mixed>
Return values
Response

registerRoute()

Registers a new route for a specific HTTP method.

protected registerRoute(HttpMethod $method, string $uri, Closure $action) : Route
Parameters
$method : HttpMethod

The HTTP method (GET, POST, etc.)

$uri : string

The route URI (e.g. "/users")

$action : Closure

The handler to be executed for this route

Return values
Route

        
On this page

Search results