English | 简体中文 | 繁體中文
查询

Yaf_Route_Rewrite::__construct()函数—用法及示例

「 创建一个Yaf_Route_Rewrite实例,并设置路由规则 」


函数名称:Yaf_Route_Rewrite::__construct()

适用版本:Yaf 2.3.0及以上版本

用法:Yaf_Route_Rewrite::__construct()函数用于创建一个Yaf_Route_Rewrite实例,并设置路由规则。

示例:

$route = new Yaf_Route_Rewrite(
    '/product/:id',
    array(
        'controller' => 'product',
        'action' => 'detail'
    )
);

在上述示例中,我们创建了一个Yaf_Route_Rewrite实例,并设置了一个路由规则,该规则将URL中的"/product/:id"部分映射到控制器为"product"、动作为"detail"的请求。

参数说明:

  • 第一个参数是路由规则的匹配模式,可以使用冒号(:)来定义参数。例如,"/product/:id"表示匹配以"/product/"开头的URL,并将:id作为参数传递给控制器。
  • 第二个参数是一个关联数组,用于指定控制器和动作的名称。在示例中,我们将控制器名称设置为"product",动作名称设置为"detail"。

注意事项:

  • Yaf_Route_Rewrite需要在Yaf路由器中注册才能生效。可以通过调用Yaf_Router的addRoute()方法来实现。
$router = Yaf_Dispatcher::getInstance()->getRouter();
$router->addRoute('my_route', $route);

在这个示例中,我们获取了Yaf_Dispatcher的单例,并通过调用getRouter()方法获取了Yaf路由器的实例。然后,我们使用addRoute()方法将之前创建的路由实例添加到Yaf路由器中。

这样,当请求URL匹配到"/product/:id"模式时,Yaf将自动调用名为"product"的控制器的"detail"动作,并将:id作为参数传递给控制器。

补充纠错
热门PHP函数
分享链接