php8.5
Home/ Manual/ yaf / yaf_route_regex/ Yaf_Route_Regex::route

Yaf_Route_Regex::route

PHP function Edit on GitHub ✎

(Yaf >=1.0.0)

Route a request

Description

Yaf_Route_Regex::route(Yaf_Request_Abstract $request): bool

Route the request with a regular expression: the URI is matched against the pattern given to the constructor, and the route result (the module, controller and action) is taken from the captured variables, mapped by the map parameter.

Parameters

request

The Yaf_Request_Abstract instance to route.

Return Values

Returns true if the URI matches, false otherwise, which makes the router try the next route.

Examples

Yaf_Route_Regex::route example

php
<?php
/* assume the request URI is "/product/php-book" */
$request = new Yaf_Request_Http("/product/php-book");

$route = new Yaf_Route_Regex(
    "#^/product/([^/]+)/?$#", // match a URI leading "/product"
    array(
        'controller' => "product", // route to the product controller
    ),
    array(
        1 => "name", // $request->getParam("name") will be "php-book"
    )
);

var_dump($route->route($request));

var_dump($request->getControllerName());
var_dump($request->getParam("name"));
?>

The above example will output something similar to:

output
bool(true)
string(7) "product"
string(8) "php-book"

See Also

  • Yaf_Route_Regex::__construct
  • Yaf_Route_Regex::match
  • Yaf_Route_Regex::assemble

Source: reference/yaf/yaf_route_regex/route.xml · from the official PHP manual (php/doc-en)