diff --git a/reference/yaf/versions.xml b/reference/yaf/versions.xml index 12cd946a38..49143b3db2 100644 --- a/reference/yaf/versions.xml +++ b/reference/yaf/versions.xml @@ -346,6 +346,7 @@ + @@ -360,22 +361,27 @@ + + + + + diff --git a/reference/yaf/yaf_route_interface/assemble.xml b/reference/yaf/yaf_route_interface/assemble.xml new file mode 100644 index 0000000000..08b4ac0f0b --- /dev/null +++ b/reference/yaf/yaf_route_interface/assemble.xml @@ -0,0 +1,79 @@ + + + + + + Yaf_Route_Interface::assemble + assemble a request + + + + &reftitle.description; + + abstract public stringYaf_Route_Interface::assemble + arrayinfo + arrayquery + + + this method returns a url according to the argument info, and append + query strings to the url according to the argument query. + + + a route should implement this method according to its own route rules, and + do a reverse progress. + + + + + &reftitle.parameters; + + + info + + + + + + + + + query + + + + + + + + + + + &reftitle.returnvalues; + + + + + + + + + diff --git a/reference/yaf/yaf_route_interface/route.xml b/reference/yaf/yaf_route_interface/route.xml index 7d238630a5..5be70c09a7 100644 --- a/reference/yaf/yaf_route_interface/route.xml +++ b/reference/yaf/yaf_route_interface/route.xml @@ -16,6 +16,12 @@ Yaf_Route_Interface::route is the only method that a custom route should implement. + + + since of 2.3.0, there is another method should also be implemented, + see Yaf_Route_Interface::assemble. + + if this method return &true;, then the route process will be end. otherwise, @@ -35,7 +41,6 @@ Yaf_Request_Abstract::setRouted to make the request routed at last. - &warn.undocumented.func; diff --git a/reference/yaf/yaf_route_map/assemble.xml b/reference/yaf/yaf_route_map/assemble.xml new file mode 100644 index 0000000000..8629f7580a --- /dev/null +++ b/reference/yaf/yaf_route_map/assemble.xml @@ -0,0 +1,122 @@ + + + + + + Yaf_Route_Map::assemble + Assemble a url + + + + &reftitle.description; + + public stringYaf_Route_Map::assemble + arrayinfo + arrayquery + + + Assmeble a url. + + + + + &reftitle.parameters; + + + info + + + + + + + + query + + + + + + + + + + + &reftitle.examples; + + <function>Yaf_Route_Map::assemble</function>example + +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' + ) + ) +); +]]> + + &example.outputs.similar; + + + + + + + + &reftitle.returnvalues; + + + + + + + + diff --git a/reference/yaf/yaf_route_regex/assemble.xml b/reference/yaf/yaf_route_regex/assemble.xml new file mode 100644 index 0000000000..8d6dc3e301 --- /dev/null +++ b/reference/yaf/yaf_route_regex/assemble.xml @@ -0,0 +1,118 @@ + + + + + + Yaf_Route_Regex::assemble + Assemble a url + + + + &reftitle.description; + + public stringYaf_Route_Regex::assemble + arrayinfo + arrayquery + + + Assmeble a url. + + + + + &reftitle.parameters; + + + info + + + + + + + + query + + + + + + + + + + + &reftitle.examples; + + <function>Yaf_Route_Regex::assemble</function>example + + "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' + ) + ) + ); +]]> + + &example.outputs.similar; + + + + + + + + &reftitle.returnvalues; + + + + + + + + diff --git a/reference/yaf/yaf_route_regex/construct.xml b/reference/yaf/yaf_route_regex/construct.xml index 7d08621ad5..14ded31b71 100644 --- a/reference/yaf/yaf_route_regex/construct.xml +++ b/reference/yaf/yaf_route_regex/construct.xml @@ -15,9 +15,9 @@ arrayroute arraymap arrayverify + stringreverse - @@ -65,6 +65,20 @@ + + reverse + + + a string, used to assemble url, see + Yaf_Route_Regex::assemble. + + + this parameter is introduced in 2.3.0 + + + + + diff --git a/reference/yaf/yaf_route_rewrite/assemble.xml b/reference/yaf/yaf_route_rewrite/assemble.xml new file mode 100644 index 0000000000..c733b54cb8 --- /dev/null +++ b/reference/yaf/yaf_route_rewrite/assemble.xml @@ -0,0 +1,114 @@ + + + + + + Yaf_Route_Rewrite::assemble + Assemble a url + + + + &reftitle.description; + + public stringYaf_Route_Rewrite::assemble + arrayinfo + arrayquery + + + Assmeble a url. + + + + + &reftitle.parameters; + + + info + + + + + + + + query + + + + + + + + + + + &reftitle.examples; + + <function>Yaf_Route_Rewrite::assemble</function>example + + "product", + ), + array() +); + +$router->addRoute("rewrite", $route); + +var_dump($router->getRoute('rewrite')->assemble( + array( + ':name' => 'foo', + ':id' => 'bar', + ':tmpkey1' => 'tmpval1' + ), + array( + 'tkey1' => 'tval1', + 'tkey2' => 'tval2' + ) + ) +); + +]]> + + &example.outputs.similar; + + + + + + + + &reftitle.returnvalues; + + + + + + + + diff --git a/reference/yaf/yaf_route_rewrite/route.xml b/reference/yaf/yaf_route_rewrite/route.xml index 57c4517edf..cab6832f6f 100644 --- a/reference/yaf/yaf_route_rewrite/route.xml +++ b/reference/yaf/yaf_route_rewrite/route.xml @@ -17,8 +17,6 @@ - &warn.undocumented.func; - diff --git a/reference/yaf/yaf_route_simple/assemble.xml b/reference/yaf/yaf_route_simple/assemble.xml new file mode 100644 index 0000000000..59f87d18a4 --- /dev/null +++ b/reference/yaf/yaf_route_simple/assemble.xml @@ -0,0 +1,109 @@ + + + + + + Yaf_Route_Simple::assemble + Assemble a url + + + + &reftitle.description; + + public stringYaf_Route_Simple::assemble + arrayinfo + arrayquery + + + Assmeble a url. + + + + + &reftitle.parameters; + + + info + + + + + + + + query + + + + + + + + + + + &reftitle.examples; + + <function>Yaf_Route_Simple::assemble</function>example + +addRoute("simple", $route); + +var_dump($router->getRoute('simple')->assemble( + array( + ':a' => 'yafaction', + 'tkey' => 'tval', + ':c' => 'yafcontroller', + ':m' => 'yafmodule' + ), + array( + 'tkey1' => 'tval1', + 'tkey2' => 'tval2' + ) + )); +]]> + + &example.outputs.similar; + + + + + + + + &reftitle.returnvalues; + + + + + + + + diff --git a/reference/yaf/yaf_route_static/assemble.xml b/reference/yaf/yaf_route_static/assemble.xml new file mode 100644 index 0000000000..9ec7321c36 --- /dev/null +++ b/reference/yaf/yaf_route_static/assemble.xml @@ -0,0 +1,125 @@ + + + + + + Yaf_Route_Static::assemble + Assemble a url + + + + &reftitle.description; + + public stringYaf_Route_Static::assemble + arrayinfo + arrayquery + + + Assmeble a url. + + + + + &reftitle.parameters; + + + info + + + + + + + + query + + + + + + + + + + + &reftitle.examples; + + <function>Yaf_Route_Static::assemble</function>example + +addRoute("static", $route); + +var_dump($router->getRoute('static')->assemble( + array( + ':a' => 'yafaction', + 'tkey' => 'tval', + ':c' => 'yafcontroller', + ':m' => 'yafmodule' + ), + array( + 'tkey1' => 'tval1', + 'tkey2' => 'tval2' + ) + ) +); + +var_dump($router->getRoute('static')->assemble( + array( + ':a' => 'yafaction', + 'tkey' => 'tval', + ':c' => 'yafcontroller', + ':m' => 'yafmodule' + ), + array( + 1 => 2, + array(), + ) + ) +); +]]> + + &example.outputs.similar; + + + + + + + + &reftitle.returnvalues; + + + + + + + + diff --git a/reference/yaf/yaf_route_supervar/assemble.xml b/reference/yaf/yaf_route_supervar/assemble.xml new file mode 100644 index 0000000000..d9dfdedf4d --- /dev/null +++ b/reference/yaf/yaf_route_supervar/assemble.xml @@ -0,0 +1,127 @@ + + + + + + Yaf_Route_Supervar::assemble + Assemble a url + + + + &reftitle.description; + + public stringYaf_Route_Supervar::assemble + arrayinfo + arrayquery + + + Assmeble a url. + + + + + &reftitle.parameters; + + + info + + + + + + + + query + + + + + + + + + + + &reftitle.examples; + + <function>Yaf_Route_Supervar::assemble</function>example + +addRoute("supervar", $route); + +var_dump($router->getRoute('supervar')->assemble( + array( + ':a' => 'yafaction', + 'tkey' => 'tval', + ':c' => 'yafcontroller', + ':m' => 'yafmodule' + ), + array( + 'tkey1' => 'tval1', + 'tkey2' => 'tval2' + ) +)); + +try { +var_dump($router->getRoute('supervar')->assemble( + array( + ':a' => 'yafaction', + 'tkey' => 'tval', + ':m' => 'yafmodule' + ), + array( + 'tkey1' => 'tval1', + 'tkey2' => 'tval2', + 1 => array(), + ) +)); +} catch (Exception $e) { + var_dump($e->getMessage()); +} +]]> + + &example.outputs.similar; + + + + + + + + &reftitle.returnvalues; + + + + + + + +