Router

Class to create and parse routes

since

1.5

package

Joomla CMS

Methods

attachBuildRule

Attach a build rule

attachBuildRule(
Warning: Array to string conversion in /opt/phpdoc/vendor/twig/twig/src/Extension/CoreExtension.php on line 768
|Array callback,  stage = self::PROCESS_DURING) : 
since

1.5

Arguments

callback

callableThe function to be called

stage

stringThe stage of the build process that this should be added to. Possible values: 'preprocess', '' for the main build process, 'postprocess'

Response

void

attachParseRule

Attach a parse rule

attachParseRule(
Warning: Array to string conversion in /opt/phpdoc/vendor/twig/twig/src/Extension/CoreExtension.php on line 768
|Array callback,  stage = self::PROCESS_DURING) : 
since

1.5

Arguments

callback

callableThe function to be called.

stage

stringThe stage of the parse process that this should be added to. Possible values: 'preprocess', '' for the main parse process, 'postprocess'

Response

void

build

Function to convert an internal URI to a route

build(string|array|\Joomla\CMS\Uri\Uri url) : \Joomla\CMS\Uri\Uri
since

1.5

Arguments

url

string|array<string|int, mixed>|UriThe internal URL or an associative array

Response

UriThe absolute search engine friendly URL object

createUri

Create a uri based on a full or partial URL string

createUri( url) : \Joomla\CMS\Uri\Uri
since

3.2

Arguments

url

stringThe URI or an associative array

Response

Uri

detachRule

Remove a rule

detachRule( type, 
Warning: Array to string conversion in /opt/phpdoc/vendor/twig/twig/src/Extension/CoreExtension.php on line 768
|Array rule,  stage = self::PROCESS_DURING) : 
since

4.0.0

throws

InvalidArgumentException

Arguments

type

stringType of rule to remove (parse or build)

rule

callableThe rule to be removed.

stage

stringThe stage of the parse process that this should be added to. Possible values: 'preprocess', '' for the main parse process, 'postprocess'

Response

boolWas a rule removed?

getInstance

Returns the global Router object, only creating it if it doesn't already exist.

getInstance( client, mixed||string|int options = []) : \Joomla\CMS\Router\Router
static deprecated
since

1.5

throws

RuntimeException

deprecated

4.0 will be removed in 6.0 Inject the router or load it from the dependency injection container Example: Factory::getContainer()->get(SiteRouter::class);

Arguments

client

stringThe name of the client

options

array<string|int, mixed>An associative array of options

Response

RouterA Router object.

getRules

Get all currently attached rules

getRules() : mixed||string|int
since

4.0.0

Response

array<string|int, mixed>All currently attached rules in an array

getVar

Get a router variable

getVar( key) : 
since

1.5

Arguments

key

stringThe name of the variable

Response

mixedValue of the variable

getVars

Get the router variable array

getVars() : mixed||string|int
since

1.5

Response

array<string|int, mixed>An associative array of router variables

parse

Function to convert a route to an internal URI

parse(\Joomla\CMS\Uri\Uri &uri,  setVars = false) : mixed||string|int
since

1.5

throws

Exception

Arguments

uri

UriThe uri.

setVars

boolSet the parsed data in the internal storage for current-request-URLs

Response

array<string|int, mixed>

processBuildRules

Process the build uri query data based on custom defined rules

processBuildRules(\Joomla\CMS\Uri\Uri &uri,  stage = self::PROCESS_DURING) : 
since

3.2

Arguments

uri

UriThe URI

stage

stringThe stage that should be processed. Possible values: 'preprocess', 'postprocess' and '' for the main build stage

Response

void

processParseRules

Process the parsed router variables based on custom defined rules

processParseRules(\Joomla\CMS\Uri\Uri &uri,  stage = self::PROCESS_DURING) : 
since

3.2

Arguments

uri

UriThe URI to parse

stage

stringThe stage that should be processed. Possible values: 'preprocess', 'postprocess' and '' for the main parse stage

Response

void

setVar

Set a router variable, creating it if it doesn't exist

setVar( key,  value,  create = true) : 
since

1.5

Arguments

key

stringThe name of the variable

value

mixedThe value of the variable

create

boolIf True, the variable will be created if it doesn't exist yet

Response

void

setVars

Set the router variable array

setVars(mixed||string|int vars = [],  merge = true) : 
since

1.5

Arguments

vars

array<string|int, mixed>An associative array with variables

merge

boolIf True, the array will be merged instead of overwritten

Response

void

Constants

PROCESS_BEFORE

Mask for the before process stage

Value 'preprocess'
since

3.4

Type(s)

string

PROCESS_DURING

Mask for the during process stage

Value ''
since

3.4

Type(s)

string

PROCESS_AFTER

Mask for the after process stage

Value 'postprocess'
since

3.4

Type(s)

string

Properties

vars

An array of variables

since

1.5

Type(s)

array<string|int, mixed>

rules

An array of rules

since

1.5

Type(s)

array<string|int, mixed>

cache

Caching of processed URIs

since

3.3

Type(s)

array<string|int, mixed>

instances

Router instances container.

static
since

1.7

Type(s)

array<string|int, Router>