(Yaf >=1.0.0)
Yaf_Route_Map::__construct — 构造一个 Map 路由
构造一个 Map 路由。Map 路由将整个 URI 映射为一个 controller 名或 action 名。
controller_prefer是否将 URI 映射为 controller 名。若为 false,则 URI 会被映射为 action 名。
delimiter用于在 URI 中分隔映射名称与请求参数的分隔符。若它作为以斜杠开头的路径段出现,则其后的所有内容都会被解析为请求参数,而不再属于映射名称。若为空,路由时不会进行这样的拆分。
不返回任何值。
示例 #1 Yaf_Route_Map 示例
<?php
/**
* 向 Yaf_Router 路由栈添加一个 Map 路由
*/
Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
new Yaf_Route_Map());
?>以上示例的输出类似于:
/* 对于 http://yourdomain.com/product/foo/bar * 请求将会携带以下值: */ array( "action" => "product_foo_bar", )
示例 #2 Yaf_Route_Map 示例
<?php
/**
* 向 Yaf_Router 路由栈添加一个带分隔符的 Map 路由
*/
Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
new Yaf_Route_Map(true, "_"));
?>以上示例的输出类似于:
/* 对于 http://yourdomain.com/user/list/_/foo/22
* 请求将会携带以下值:
*/
array(
"controller" => "User_List",
)
/**
* 以及请求参数:
*/
array(
"foo" => "22",
)
示例 #3 Yaf_Route_Map 示例
<?php
/**
* 通过调用 addConfig 向路由栈添加一个 Map 路由
*/
$config = array(
"name" => array(
"type" => "map", // Yaf_Route_Map 路由
"controllerPrefer" => FALSE,
"delimiter" => "#!",
),
);
Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
new Yaf_Config_Simple($config));
?>