yaf(3) 正则路由

简介: 2013年3月19日 08:39:46 废话少说,贴代码: 1 public function _initRouter(Yaf_Dispatcher $dispatcher) 2 { 3 //通过派遣器得到 默认 的路由器(默认路由器是:Yaf_Router...

2013年3月19日 08:39:46

废话少说,贴代码:

 1 public function _initRouter(Yaf_Dispatcher $dispatcher)
 2     {
 3         //通过派遣器得到 默认 的路由器(默认路由器是:Yaf_Router;默认路由协议是:Yaf_Rout_Static)
 4         $router = Yaf_Dispatcher::getInstance()->getRouter();
 5         $routes = array(
 6                 'test_a' => new Yaf_Route_Regex(
 7                         '#test-([a-z]+).html#',
 8                         array(
 9                                 'module' => 'test',
10                                 'controller' => 'index',
11                                 'action' => 'alpha'),
12                         array(
13                                 1 => 'data')
14                         ),
15                 'test_1' => new Yaf_Route_Regex(
16                         '#test-([0-9]+).html#',
17                         array(
18                                 'module' => 'test',
19                                 'controller' => 'index',
20                                 'action' => 'number'),
21                         array(
22                                 1 => 'data')
23                         ),
24             );
25         
26         foreach ($routes as $routekey => $route) {
27             $router->addRoute($routekey, $route);
28         }
29     }

注意:每个路由规则的正则表达式要添加限定符(分隔符,第7行和第16行的#号字符,当然也可以是其它的字母和数字之外的限定符)
yaf中的这种路由添加时好像必须是一个一个添加,所以我先定义了一个数组,然后循环添加路由规则(zf里可以直接把数组当作实参穿进去)

当然你也可以直接把路由规则写到配置文件中去

目录
相关文章
|
前端开发 应用服务中间件 API
Nginx 反向代理 去除 路径匹配规则url
Nginx 反向代理 去除 路径匹配规则url
|
5月前
|
PHP
php 正则匹配 常用的 规则(一) 匹配form表单
php 正则匹配 常用的 规则(一) 匹配form表单
25 0
|
5月前
|
PHP
php 正则匹配 规则(二)匹配form表单 示例
php 正则匹配 规则(二)匹配form表单 示例
28 0
|
PHP
PHP - Laravel 路由参数
PHP - Laravel 路由参数
62 0
|
11月前
|
前端开发 应用服务中间件 API
简单明了!网关Gateway路由配置filters实现路径重写及对应正则表达式的解析
简单明了!网关Gateway路由配置filters实现路径重写及对应正则表达式的解析
284 0
|
PHP
PHP - Laravel 路由分组 - 路由前缀
PHP - Laravel 路由分组 - 路由前缀
76 0
|
PHP
PHP - Laravel 路由别名
PHP - Laravel 路由别名
116 0
学会这三个包,搞定R中的正则
天下苦正则久矣,尤其当字符串中有自己想要的一段数据时候苦苦提取不出来的感觉真是难受,今天给大家介绍3个R包来解决这种正则带来烦恼的包,希望对大家能有所帮助。
83 0
|
网络架构
Yii2的基于模式匹配的路由是什么意思?底层原理是什么?
Yii2的基于模式匹配的路由是什么意思?底层原理是什么?