Aplus Framework Docs

Route
in package
implements JsonSerializable

Class Route.

Interfaces, Classes, Traits and Enums

JsonSerializable

Table of Contents

$action  : Closure|string
$actionArguments  : array<string|int, mixed>
$name  : string|null
$options  : array<string|int, mixed>
$origin  : string
$path  : string
$router  : Router
__construct()  : mixed
Route constructor.
getAction()  : Closure|string
Gets the Route action.
getActionArguments()  : array<int, string>
Gets the Route action arguments.
getName()  : string|null
Gets the Route name.
getOptions()  : array<string, mixed>
Gets Route options.
getOrigin()  : string
Gets the Route URL origin.
getPath()  : string
Gets the Route URL path.
getUrl()  : string
Gets the Route URL.
jsonSerialize()  : string
run()  : Response
Runs the Route action.
setAction()  : static
Sets the Route action.
setActionArguments()  : static
Sets the Route action arguments.
setName()  : static
Sets the Route name.
setOptions()  : static
Sets options to be used in a specific environment application.
setPath()  : static
Sets the Route URL path.
extractMethodAndArguments()  : array<int, mixed>
makeResponse()  : Response
Make the final Response used in the 'run' method.
makeResponseBodyPart()  : string
Make a string to be appended in the Response body based in the route action result.
onNamedRoutePart()  : string
setOrigin()  : static
toArrayOfStrings()  : array<int, string>

Properties

$action

protected Closure|string $action

$actionArguments

protected array<string|int, mixed> $actionArguments = []

$name

protected string|null $name = null

$options

protected array<string|int, mixed> $options = []

$origin

protected string $origin

$path

protected string $path

Methods

__construct()

Route constructor.

public __construct(Router $router, string $origin, string $path, Closure|string $action) : mixed
Parameters
$router : Router

A Router instance

$origin : string

URL Origin. A string in the following format: {scheme}://{hostname}[:{port}]

$path : string

URL Path. A string starting with '/'

$action : Closure|string

The action

Return values
mixed

getAction()

Gets the Route action.

public getAction() : Closure|string
Return values
Closure|string

getActionArguments()

Gets the Route action arguments.

public getActionArguments() : array<int, string>
Return values
array<int, string>

getName()

Gets the Route name.

public getName() : string|null
Return values
string|null

getOptions()

Gets Route options.

public getOptions() : array<string, mixed>
Return values
array<string, mixed>

getOrigin()

Gets the Route URL origin.

public getOrigin(string ...$arguments) : string
Parameters
$arguments : string

Arguments to fill the URL Origin placeholders

Return values
string

getPath()

Gets the Route URL path.

public getPath(string ...$arguments) : string
Parameters
$arguments : string

Arguments to fill the URL Path placeholders

Return values
string

getUrl()

Gets the Route URL.

public getUrl([array<string|int, mixed> $originArgs = [] ][, array<string|int, mixed> $pathArgs = [] ]) : string

Note: Arguments must be passed if placeholders need to be filled.

Parameters
$originArgs : array<string|int, mixed> = []

Arguments to fill the URL Origin placeholders

$pathArgs : array<string|int, mixed> = []

Arguments to fill the URL Path placeholders

Return values
string

jsonSerialize()

public jsonSerialize() : string
Return values
string

run()

Runs the Route action.

public run(mixed ...$construct) : Response
Parameters
$construct : mixed

Class constructor arguments

Tags
throws
JsonException

if the action result is an array, or an instance of JsonSerializable, and the Response cannot be set as JSON

throws
RoutingException

if class is not an instance of RouteActions, action method not exists or if the result of the action method has not a valid type

Return values
Response

The Response with the action result appended on the body

setAction()

Sets the Route action.

public setAction(Closure|string $action) : static
Parameters
$action : Closure|string

A Closure or a string in the format of the __METHOD__ constant. Example: App\Blog::show.

The action can be suffixed with ordered parameters, separated by slashes, to set how the arguments will be passed to the class method. Example: App\Blog::show/0/2/1.

And, also with the asterisk wildcard, to pass all arguments in the incoming order. Example: App\Blog::show/*

Tags
see
Route::setActionArguments()
see
Route::run()
Return values
static

setActionArguments()

Sets the Route action arguments.

public setActionArguments(array<int, string> $arguments) : static
Parameters
$arguments : array<int, string>

The arguments. Note that the indexes set the order of how the arguments are passed to the Action

Tags
see
Route::setAction()
Return values
static

setName()

Sets the Route name.

public setName(string $name) : static
Parameters
$name : string
Return values
static

setOptions()

Sets options to be used in a specific environment application.

public setOptions(array<string, mixed> $options) : static

For example: its possible set Access Control List options, Locations, Middleware filters, etc.

Parameters
$options : array<string, mixed>
Return values
static

setPath()

Sets the Route URL path.

public setPath(string $path) : static
Parameters
$path : string
Return values
static

extractMethodAndArguments()

protected extractMethodAndArguments(string $part) : array<int, mixed>
Parameters
$part : string

An action part like: index/0/2/1

Tags
throws
InvalidArgumentException

for undefined action argument

Return values
array<int, mixed>

The action method in the first index, the action arguments in the second

makeResponse()

Make the final Response used in the 'run' method.

protected makeResponse(mixed $result) : Response
Parameters
$result : mixed
Tags
throws
JsonException

if the $result is an array, or an instance of JsonSerializable, and the Response cannot be set as JSON

throws
RoutingException

if the $result type is invalid

Return values
Response

makeResponseBodyPart()

Make a string to be appended in the Response body based in the route action result.

protected makeResponseBodyPart(mixed $result) : string
Parameters
$result : mixed

The return value of the matched route action

Tags
throws
JsonException

if the $result is an array, or an instance of JsonSerializable, and the Response cannot be set as JSON

throws
RoutingException

if the $result type is invalid

Return values
string

onNamedRoutePart()

protected onNamedRoutePart() : string
Return values
string

setOrigin()

protected setOrigin(string $origin) : static
Parameters
$origin : string
Return values
static

toArrayOfStrings()

protected static toArrayOfStrings(array<string|int, mixed> $array) : array<int, string>
Parameters
$array : array<string|int, mixed>
Return values
array<int, string>

Search results