Fugir da rota padrão

pagina/view/2
controller/action/id

Por default, você não poderia ter mais de 3 parametros na url .. as rotas te
permitem expandir isso, levando o request para o caminho correto. Se o
request for mal feito, url errada, a página não será encontrada.


Em 29 de setembro de 2011 19:19, Diogo Souza Machado <
[email protected]> escreveu:

> Enfim, qual é a função real de se usar uma rota?
>
> Em 29 de setembro de 2011 19:08, felipe moraes <[email protected]>escreveu:
>
> Interessante estes exemplos ..
>>
>> Só lembrando que o primeiro parâmetro é um identificador da rota, mas não
>> influencia nela ..
>>
>> imoveis/detalhe/identificador não tem efeito .. poderia ser
>> imoveldetalheidentificador
>>
>> O que realmente influencia são os demais parâmetros ..
>>
>> No segundo vem as variáveis do ER ...
>>
>> <controller> <action> <id> <pagina> <cidade> <bairro>. Sendo que podem vir
>> algumas constantes ..
>>
>> No terceiro, opcional, você coloca o ER para tratar a rota.
>>
>> (diretorio1|diretorio2|diretorio3) lista de diretórios aceitáveis
>>
>> 'cidade'  => '[a-zA-z0-9-_]+',
>> 'bairro'  => '[a-zA-z0-9-_]+',
>> 'id' => '[0-9]+',
>>
>> E, por aí vai. Consulte o manual/guide para saber qual ER é mais adequada.
>>
>> Após criar sua rota, com o método default você configura alguns valores
>> padrões.
>>
>> Basicamente é isto, me corrijam se errei algo.
>>
>>
>> Em 29 de setembro de 2011 15:45, Get <[email protected]> escreveu:
>>
>> Não tem mistério.
>>>
>>> Se você estiver desenvolvendo um módulo, defina as rotas no init.php do
>>> módulo, se for na aplicação defina no bootstrap.php (antes da rota padrão
>>> que vem no arquivo).
>>>
>>> Exemplos:
>>>
>>> A rota a seguir reconhece: noticias/ e notícias/pagina, onde página é um
>>> número e não é obrigatório (entre parênteses)
>>> O parametro "pagina" você recupera no controller usando
>>> $this->request->param('pagina');
>>>
>>> Route::set('noticias/pagina', 'noticias(/<pagina>)',array(
>>> 'pagina' => '[0-9]+'
>>>  ))
>>> ->defaults(array(
>>> 'controller' => 'noticias',
>>>  'action'     => 'lista',
>>> 'pagina' => 1
>>>  ));
>>>
>>> A rota a seguir reconhece: imoveis/cidade/bairro/id
>>> perceba que em "defaults" foi setado o parametro "directory", para que
>>> você não precise colocar o controller sempre na raiz da pasta controllers.
>>> Route::set('imoveis/detalhe/identificador',
>>> 'imoveis/<cidade>/<bairro>/<id>',array(
>>> 'cidade' => '[a-zA-z0-9-_]+',
>>>  'bairro' => '[a-zA-z0-9-_]+',
>>> 'id' => '[0-9]+',
>>>  ))
>>> ->defaults(array(
>>> 'directory' => 'imobiliaria',
>>>  'controller' => 'imoveis',
>>> 'action'     => 'detalhe',
>>>  'id' => '',
>>> ));
>>>
>>>
>>> Você também pode usar o directory, o controller e a action como
>>> parametros da sua rota, ficando algo assim:
>>>
>>> A rota a seguir reconhece: imoveis/detalhes/id ou imoveis/impressao/id
>>> Route::set('imoveis/action/identificador', 'imoveis/<action>/<id>',array(
>>>  'action'  => 'detalhes|impressao',
>>> 'id' => '[0-9]+',
>>>  ))
>>> ->defaults(array(
>>> 'controller'  => 'imoveis',
>>>  'action'      => 'detalhes',
>>> 'id' => '',
>>>  ));
>>>
>>> A página de documentação do kohana é bem detalhada e possui exemplos:
>>> http://kohanaframework.org/3.2/guide/kohana/routing
>>>
>>> Espero ter ajudado.
>>>
>>> @rafaelget
>>>
>>>
>>> 2011/9/29 Diogo Machado <[email protected]>
>>>
>>>> Olá Pessoal, bom, estou utilizando o *kohana 3.2* a pouco tempo e não
>>>> consegui entender como utilizar *rotas*, mas creio que é um recurso
>>>> muito legal. Alguém poderia indicar um exemplo básico?
>>>>
>>>> --
>>>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>>>> Php" dos Grupos do Google.
>>>> Para ver esta discussão na web, acesse
>>>> https://groups.google.com/d/msg/kohana-php/-/CXn8t3OY9IwJ.
>>>> Para postar neste grupo, envie um e-mail para
>>>> [email protected].
>>>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>>>> [email protected].
>>>> Para obter mais opções, visite esse grupo em
>>>> http://groups.google.com/group/kohana-php?hl=pt-BR.
>>>>
>>>
>>>  --
>>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>>> Php" dos Grupos do Google.
>>> Para postar neste grupo, envie um e-mail para
>>> [email protected].
>>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>>> [email protected].
>>> Para obter mais opções, visite esse grupo em
>>> http://groups.google.com/group/kohana-php?hl=pt-BR.
>>>
>>
>>
>>
>> --
>> http://felipebastosweb.com.br
>> http://twitter.com/felipebastosweb
>>
>> --
>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>> Php" dos Grupos do Google.
>> Para postar neste grupo, envie um e-mail para [email protected]
>> .
>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>> [email protected].
>> Para obter mais opções, visite esse grupo em
>> http://groups.google.com/group/kohana-php?hl=pt-BR.
>>
>
>
>
> --
> *Diogo Souza Machado*
> Técnico em Informática
>
>
>  --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php"
> dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para [email protected].
> Para cancelar a inscrição nesse grupo, envie um e-mail para
> [email protected].
> Para obter mais opções, visite esse grupo em
> http://groups.google.com/group/kohana-php?hl=pt-BR.
>



-- 
http://felipebastosweb.com.br
http://twitter.com/felipebastosweb

-- 
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos 
Grupos do Google.
Para postar neste grupo, envie um e-mail para [email protected].
Para cancelar a inscrição nesse grupo, envie um e-mail para 
[email protected].
Para obter mais opções, visite esse grupo em 
http://groups.google.com/group/kohana-php?hl=pt-BR.

Responder a