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.
