(Yaf >=2.3.0)
Yaf_Route_Map::assemble — 组合url
$info
, array $query
= ?): string根据指定参数和自定义参数将 map 这个 route 组合成一个 url
info
需要传入一个数组,数组的 key 可以为 :a 或者 :c,:a 表示 action,:c 表示 controller。
当 map route 初始化时,controller_prefer 为 false
时,这个参数需要传入 :c。当
controller_prefer 为 true
时,这个参数需要传入 :a。
query
用户自定义的 query 字符串,将根据此路由规则拼接在url中
成功时返回 string,失败时为 null
。
可能抛出 Yaf_Exception_TypeError。
示例 #1 Yaf_Route_Map::assemble() 示例
<?php
$router = new Yaf_Router();
$route = new Yaf_Route_Map();
$router->addRoute("map", $route);
var_dump($router->getRoute('map')->assemble(
array(
':c' => 'foo_bar'
),
array(
'tkey1' => 'tval1',
'tkey2' => 'tval2'
)
)
);
$route = new Yaf_Route_Map(true, '_');
$router->addRoute("map", $route);
var_dump($router->getRoute('map')->assemble(
array(
':a' => 'foo_bar'
),
array(
'tkey1' => 'tval1',
'tkey2' => 'tval2'
)
)
);
以上示例的输出类似于:
string(%d) "/foo/bar?tkey1=tval1&tkey2=tval2" string(%d) "/foo/bar/_/tkey1/tval1/tkey2/tval2"