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

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

「 Yaf_Route_Regex 构造方法 」


函数名:Yaf_Route_Regex::__construct()

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

用法:Yaf_Route_Regex::__construct(string $match, array $route, array $map = array(), array $verify = array())

参数:

  • $match: 匹配的正则表达式,用于匹配路由URI
  • $route: 路由参数,用于指定要执行的控制器和动作
  • $map: 路由参数映射,用于将正则表达式的匹配结果映射到路由参数中
  • $verify: 路由参数验证,用于验证路由参数的格式和值

示例:

$route = new Yaf_Route_Regex(
    '#^/user/([0-9]+)/([a-z]+)$#', // 匹配/user/{数字}/{小写字母}的URI
    array(
        'controller' => 'user', // 控制器
        'action' => 'profile' // 动作
    ),
    array(
        1 => 'id', // 将第一个匹配到的数字映射到路由参数id
        2 => 'name' // 将第二个匹配到的小写字母映射到路由参数name
    ),
    array(
        'id' => '/^\d+$/', // 验证id参数为数字
        'name' => '/^[a-z]+$/' // 验证name参数为小写字母
    )
);

在上面的示例中,我们创建了一个正则路由,用于匹配形如/user/{数字}/{小写字母}的URI。当匹配成功后,Yaf框架会执行user控制器的profile动作,并将匹配到的数字赋值给路由参数id,匹配到的小写字母赋值给路由参数name。同时,我们还对路由参数进行了验证,确保id只能是数字,name只能是小写字母。

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