• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • Yaf_Route_Supervar::assemble()

    (Yaf >=2.3.0)

    组合url

    说明

    publicYaf_Route_Supervar::assemble(array $info[,array $query]): string

    根据指定参数和自定义参数将supervar这个route组合成一个url

    参数

    $info

    需要传入一个数组,数组中每个key可为:m、:c、:a,:m代表module,:c代表controller,:a代表action

    $query

    用户自定义的query string,将根据此路由规则拼接在url中

    范例

    Example #1 Yaf_Route_Supervar::assemble()example

    <?php
    $router = new Yaf_Router();
    $route  = new Yaf_Route_Supervar('r');
    $router->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());
    }

    以上例程的输出类似于:

    string(%d) "?r=/yafmodule/yafcontroller/yafaction&tkey1=tval1&tkey2=tval2"
    string(%d) "You need to specify the controller by ':c'"
    

    返回值