Yaf_Route_Regex::__construct

(Yaf >=1.0.0)

Yaf_Route_Regex::__constructConstrutor de Yaf_Route_Regex

Descrição

public 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

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top