Pickles Framework Documentation

Route
in package

Class Route

Represents a route in the HTTP router. Stores the URI pattern and the action (handler) to execute. Supports parametrized routes using {param} syntax and extracts parameters from matching URIs.

Table of Contents

Properties

$action  : Closure|array<string|int, mixed>
The action (handler) to execute when the route matches.
$middlewares  : array<string|int, Middleware>
HTTP middlewares associated with this route.
$parameters  : array<string|int, string>
List of parameter names defined in the URI (e.g., ["id"] for /users/{id}).
$regex  : string
Regular expression derived from the URI pattern.
$uri  : string
The URI pattern defined for the route (e.g., /users/{id}).

Methods

__construct()  : mixed
Constructor.
delete()  : self
Registers a DELETE route with the specified URI and action.
get()  : self
Registers a GET route with the application's router.
getAction()  : Closure|array<string|int, mixed>
Get the handler associated with this route.
getMiddlewares()  : array<string|int, Middleware>
Get HTTP middlewares associated with this route.
getUri()  : string
Get the URI definition for this route.
hasMiddlewares()  : bool
Checks if middlewares has been added to the current Route.
hasParameters()  : bool
Determine whether this route has defined parameters.
load()  : mixed
matches()  : bool
Check if the given URI matches this route's pattern.
parseParameters()  : array<string, string>
Parse and extract parameter values from the given URI.
patch()  : self
Registers a new PATCH route with the application's router.
post()  : self
Registers a POST route with the specified URI and action.
put()  : self
Registers a new route that responds to HTTP PUT requests.
setMiddlewares()  : Route
Set HTTP middlewares for this route.

Properties

$action

The action (handler) to execute when the route matches.

protected Closure|array<string|int, mixed> $action

$middlewares

HTTP middlewares associated with this route.

protected array<string|int, Middleware> $middlewares = []

$parameters

List of parameter names defined in the URI (e.g., ["id"] for /users/{id}).

protected array<string|int, string> $parameters

$regex

Regular expression derived from the URI pattern.

protected string $regex

$uri

The URI pattern defined for the route (e.g., /users/{id}).

protected string $uri

Methods

__construct()

Constructor.

public __construct(string $uri, Closure|array<string|int, mixed> $action) : mixed
Parameters
$uri : string

The route URI definition, possibly with parameters.

$action : Closure|array<string|int, mixed>

The handler to be executed for this route.

delete()

Registers a DELETE route with the specified URI and action.

public static delete(string $uri, Closure|array<string|int, mixed> $action) : self
Parameters
$uri : string

The URI pattern for the route.

$action : Closure|array<string|int, mixed>

The action to be executed when the route is matched.

Tags
throws
RuntimeException

If the Kernel instance is not found in the container.

Return values
self

Returns the current instance of the route.

get()

Registers a GET route with the application's router.

public static get(string $uri, Closure|array<string|int, mixed> $action) : self
Parameters
$uri : string

The URI pattern for the route.

$action : Closure|array<string|int, mixed>

The action to be executed when the route is matched.

Tags
throws
RuntimeException

If the Kernel instance is not found in the container.

Return values
self

Returns the current instance of the route.

getAction()

Get the handler associated with this route.

public getAction() : Closure|array<string|int, mixed>
Return values
Closure|array<string|int, mixed>

getMiddlewares()

Get HTTP middlewares associated with this route.

public getMiddlewares() : array<string|int, Middleware>
Return values
array<string|int, Middleware>

getUri()

Get the URI definition for this route.

public getUri() : string
Return values
string

hasMiddlewares()

Checks if middlewares has been added to the current Route.

public hasMiddlewares() : bool
Return values
bool

Returns true if there are middlewares associated with the route, false otherwise.

hasParameters()

Determine whether this route has defined parameters.

public hasParameters() : bool
Return values
bool

True if parameters exist; false otherwise.

load()

public static load(string $routesDirectory) : mixed
Parameters
$routesDirectory : string

matches()

Check if the given URI matches this route's pattern.

public matches(string $uri) : bool
Parameters
$uri : string

The request URI.

Return values
bool

True if it matches; false otherwise.

parseParameters()

Parse and extract parameter values from the given URI.

public parseParameters(string $uri) : array<string, string>
Parameters
$uri : string

The URI to extract values from.

Return values
array<string, string>

Associative array of parameter names and their values.

patch()

Registers a new PATCH route with the application's router.

public static patch(string $uri, Closure|array<string|int, mixed> $action) : self
Parameters
$uri : string

The URI pattern for the route.

$action : Closure|array<string|int, mixed>

The action to be executed when the route is matched.

Tags
throws
RuntimeException

If the Kernel instance is not found in the container.

Return values
self

Returns the current instance for method chaining.

post()

Registers a POST route with the specified URI and action.

public static post(string $uri, Closure|array<string|int, mixed> $action) : self
Parameters
$uri : string

The URI pattern for the route.

$action : Closure|array<string|int, mixed>

The action to be executed when the route is matched.

Tags
throws
RuntimeException

If the Kernel instance is not found in the container.

Return values
self

Returns the current instance of the route for method chaining.

put()

Registers a new route that responds to HTTP PUT requests.

public static put(string $uri, Closure|array<string|int, mixed> $action) : self
Parameters
$uri : string

The URI pattern for the route.

$action : Closure|array<string|int, mixed>

The action to be executed when the route is matched.

Tags
throws
RuntimeException

If the Kernel instance is not found in the container.

Return values
self

Returns the current instance of the route for method chaining.

setMiddlewares()

Set HTTP middlewares for this route.

public setMiddlewares(array<string|int, string> $middlewares) : Route
Parameters
$middlewares : array<string|int, string>

Array of middleware class names.

Tags
throws
RuntimeException

If any of the provided classes are not valid middleware.

Return values
Route

        
On this page

Search results