首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

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

发布于 2025-05-19 17:02:40
0
26

函数名: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只能是小写字母。

评论
一个月内的热帖推荐
啊龙
Lv.1普通用户

9545

帖子

31

小组

3242

积分

赞助商广告
站长交流