PHP 8.5.10 Released!

Yaf_Route_Regex::route

(Yaf >=1.0.0)

Yaf_Route_Regex::route路由请求

说明

public function Yaf_Route_Regex::route(Yaf_Request_Abstract $request): bool

用正则表达式路由请求:将 URI 与传给构造函数的模式进行匹配,路由结果(module、controller 和 action)取自捕获的变量,并按 map 参数进行映射。

参数

request

要路由的 Yaf_Request_Abstract 实例。

返回值

若 URI 匹配则返回 true,否则返回 false,路由器将尝试下一个路由。

示例

示例 #1 Yaf_Route_Regex::route() 示例

<?php
/* 假设请求 URI 为 "/product/php-book" */
$request = new Yaf_Request_Http("/product/php-book");

$route = new Yaf_Route_Regex(
    "#^/product/([^/]+)/?$#", // 匹配以 "/product" 开头的 URI
    array(
        'controller' => "product", // 路由到 product 控制器
    ),
    array(
        1 => "name", // $request->getParam("name") 的值将是 "php-book"
    )
);

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

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

以上示例的输出类似于:

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

参见

添加备注

用户贡献的备注

此页面尚无用户贡献的备注。
To Top