(Yaf >=2.3.0)
Yaf_Route_Regex::assemble — 组合 url
根据指定参数和自定义参数将 regex 这个 route 组合成一个 url
在 regex route 使用 assemble 需要在初始化时指定 reverse 参数,否则将不能正常工作
info
需要传入一个数组,数组的 key 可以为 :a、:c、:m,:a 表示 action,:c 表示 controller,:m 表示 module。
query
用户自定义的 query 字符串,将根据此路由规则拼接在 url 中
成功时返回 string,失败时为 null
。
示例 #1 Yaf_Route_Regex::assemble() 示例
<?php
$router = new Yaf_Router();
$route = new Yaf_Route_Regex(
"#^/product/([^/]+)/([^/])+#",
array(
'controller' => "product", //route to product controller,
),
array(),
array(),
'/:m/:c/:a'
);
$router->addRoute("regex", $route);
var_dump($router->getRoute('regex')->assemble(
array(
':m' => 'module',
':c' => 'controller',
':a' => 'action'
),
array(
'tkey1' => 'tval1',
'tkey2' =>
'tval2'
)
)
);
以上示例的输出类似于:
string(49) "/module/controller/action?tkey1=tval1&tkey2=tval2"