(Yaf >=1.0.0)
Yaf_Route_Rewrite::__construct — Construtor de Yaf_Route_Rewrite
match
Uma expressão que será usada para corresponder ao URI da requisição. Se
não for correspondida, Yaf_Route_Rewrite retornará
false
.
Pode ser usado o estilo ":nome" para nomear os segmentos correspondidos, e "*" para corresponder ao restante dos segmentos do URI.
route
Quando a expressão corresponde ao URI da requisição, Yaf_Route_Rewrite usará este parâmetro para decidir qual módulo, controlador ou ação é o destino.
Cada chave ("module", "controller", "action") neste array é opcional, se não for atribuído um valor específico, o encaminhamento será o padrão.
verify
Exemplo #1 Exemplo de Yaf_Route_Rewrite
<?php
/**
* Adiciona uma rota de re-escrita à pilha de rotas Yaf_Router
*/
Yaf_Dispatcher::getInstance()->getRouter()->addRoute("nome",
new Yaf_Route_rewrite(
"/produto/:nome/:id/*", // corresponde ao URI que inicia com "/produto"
array(
'controller' => "produto", // rota para o controlador "produto"
),
)
);
?>
O exemplo acima produzirá algo semelhante a:
/* para http://seudominio.com/produto/foo/22/foo/bar, * a rota resultará nos seguintes valores: */ array( "controller" => "produto", "module" => "index", // (padrão) "action" => "index", // (padrão) ) /** * e os parâmetros da requisição: */ array( "nome" => "foo", "id" => 22, "foo" => bar )
Exemplo #2 Exemplo de Yaf_Route_Rewrite
<?php
/**
* Adiciona uma rota de re-escrita à pilha de rotas Yaf_Router chamando addconfig
*/
$config = array(
"name" => array(
"type" => "rewrite", // rota Yaf_Route_Rewrite
"match" => "/user-list/:id", // corresponde apenas a /user-list/?/
"route" => array(
'controller' => "user", // rota para o controlador "user"
'action' => "list", // rota para a ação "list"
),
),
);
Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
new Yaf_Config_Simple($config));
?>
O exemplo acima produzirá algo semelhante a:
/* para http://seudominio.com/user-list/22 * a rota resultará nos seguintes valores: */ array( "controller" => "user", "action" => "list", "module" => "index", // (padrão) ) /** * e os parâmetros da requisição: */ array( "id" => 22, )
Exemplo #3 Exemplo de Yaf_Route_Rewrite (a partir do Yaf 2.3.0)
<?php
/**
* Adiciona uma rota de re-escrita e usa o resultado da correspondência como o nome m/c/a
*/
$config = array(
"name" => array(
"type" => "rewrite",
"match" => "/user-list/:a/:id", // corresponde apenas a /user-list/*
"route" => array(
'controller' => "user", // rota para o controlador "user"
'action' => ":a", // rota para a ação ":a"
),
),
);
Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
new Yaf_Config_Simple($config));
?>
O exemplo acima produzirá algo semelhante a:
/* para http://seudominio.com/user-list/list/22, * a rota resultará nos seguintes valores: */ array( "controller" => "user", "action" => "list", "module" => "index", // (padrão) ) /** * e os parâmetros da requisição: */ array( "id" => 22, )