Construtor de Yaf_Route_Regex

# Yaf_Route_Regex::__construct

(Yaf >=1.0.0)

Yaf_Route_Regex::__construct — Construtor de Yaf_Route_Regex

### Descrição

public function Yaf_Route_Regex::__construct(
string `$match`,
array `$route`,
array `$map` = ?,
array `$verify` = ?,
string `$reverse` = ?
)

### Parâmetros

`match`

  Uma expressão regular completa. Será usada para corresponder a uma URI de requisição. Se não corresponder, Yaf_Route_Regex retornará `false`.

`route`

  Quando a expressão corresponder ao URI, Yaf_Route_Regex usará este parâmetro para decidir que valores m/c/a serão usados na rota.

  Qualquer dos valores de m/c/a neste array é opcional. Se não for especificado um valor, será usado o roteamento padrão.

`map`

  Um array para atribuir nomes aos grupos de captura no resultado da correspondência.

`verify`

`reverse`

  Uma string usada para montar o URL, consulte Yaf_Route_Regex::assemble().

  > Nota:

  > Este parâmetro está disponível a partir do Yaf 2.3.0.

### Valor Retornado

### Exemplos

Exemplo #1 Exemplo de Yaf_Route_Regex

    <?php
       /**
        * Adiciona uma rota "regex" à pilha de rotas Yaf_Router
        */
        Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
            new Yaf_Route_Regex(
               "#^/product/([^/]+)/([^/])+#", // corresponde a um URI iniciando com "/product"
               array(
                   'controller' => "product",  // rota para o controlador de "/product",
               ),
               array(
                  1 => "name",   // agora é possível chamar $request->getParam("name")
                  2 => "id",     // para obter o primeiro grupo de captura na expressão correspondida.
               )
            )
        );
    ?>

Exemplo #2 Exemplo de Yaf_Route_Regex (a partir do Yaf 2.3.0)

    <?php
       /**
        * Usa o resultado da correspondência como nome MVC
        */
        Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
            new Yaf_Route_Regex(
               "#^/product/([^/]+)/([^/])+#i", // corresponde ao URI iniciando com "/product"
               array(
                  'controller' => ":name", // rota para :name, que é $1 no resultado da correspondência como o nome do controlador
               ),
               array(
                  1 => "name",   // agora é possível chamar $request->getParam("name")
                  2 => "id",     // para obter o primeiro grupo de captura na expressão correspondida.
               )
            )
        );
    ?>

Exemplo #3 Exemplo de Yaf_Route_Regex e grupo de captura nomeado (a partir do Yaf 2.3.0)

    <?php
       /**
        * Usa o resultado da correspondência como nome MVC
        */
        Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
            new Yaf_Route_Regex(
               "#^/product/(?<name>[^/]+)/([^/])+#i", // corresponde ao URI iniciando com "/product"
               array(
               'controller' => ":name", // rota para :name,
                                        // que é o grupo de captura nomeado 'name' no resultado da correspondência como o nome do controlador
               ),
               array(
                  2 => "id",
               )
            )
        );
    ?>

Exemplo #4 Exemplo de Yaf_Route_Regex

    <?php
       /**
        * Adiciona uma rota "regex" à pilha de rotas Yaf_Router chamando addconfig
        */
        $config = array(
            "name" => array(
               "type"  => "regex",          // rota Yaf_Route_Regex
               "match" => "#(.*)#",         // corresponde a um URI de requisição genérico
               "route" => array(
                   'controller' => "product",  // rota para o controlador de "product",
                   'action'     => "dummy",    // rota para uma ação "dummy"
               ),
               "map" => array(
                  1 => "uri",   // agora pode-se chamar $request->getParam("uri")
               ),
            ),
        );
        Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
            new Yaf_Config_Simple($config));
    ?>

### Veja Também

- Yaf_Router::addRoute() - Adiciona nova rota
- Yaf_Router::addConfig() - Adiciona as rotas definidas na configuração
- Yaf_Route_Static
- Yaf_Route_Supervar
- Yaf_Route_Simple
- Yaf_Route_Rewrite
- Yaf_Route_Map

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open