Arquivo de Jun/2009

15 JunTransporte coletivo, Curitiba-PR, Parte IV

Só para reforçar o que eu já disse aqui, o SISTEMA DE TRANSPORTE COLETIVO DE CURITIBA É UM LIXO. Veja o que aconteceu hoje:

  1. Porta de ligeirinho se abre no semáforo e atinge motoboy. (15/06/2009)
  2. Ônibus desgovernado assusta passageiros; dois ficam feridos. (18/06/2009)

onibus ligeirinho curitiba acidente

onibus ligeirinho de curitiba - acidente

Ta começando a virar rotina já :P

Atualizado em 19/06/2009 – Sim apenas 4 dias depois, outro acidente :P

15 JunDica Rápida: Rotas

Você ja deve ter percebido que o padrão de url que o ZF utiliza para passar parametros não é muito amigavel para o usuário. Mas, como todo bom framework, existe como corrigir isso utilizando rotas.

Adicione as seguintes linhas de códigos para testar as rotas:

Iniciando

$this->_front = Zend_Controller_Front::getInstance();
$router = $this->_front->getRouter();

Esse código deve ser adicionado no plugin de inicialização do seu sistema (ou no bootstrap, para casos que não o utilizem).
Com o objeto $router em mãos, vamos aos exemplos práticos:

1. Rota simples, sem parâmetros

$route = new Zend_Controller_Router_Route('rota/nova', array(
                                                             'module'=>'default',
                                                             'controller' => 'noticias',
                                                             'action'=> 'index')
                                         );
$router->addRoute('default.noticias.index', $route);

para entender melhor esse código, o primeiro parametro é a rota que você vai criar, nesse caso ficaria: http://www.seudominio.com.br/rota/nova os outros parametros são o módulo/controller/action que serão executados. A ultima linha de código é aonde a rota é efetivamente incluida no sistema.

2. Rota simples, com parâmetros

$route = new Zend_Controller_Router_Route('usuario/:user', array(
                                                                 'module'=> 'default',
                                                                 'controller' => 'usuario',
                                                                 'action'=> 'visualizar')
                                         );
$router->addRoute('default.usuario.visualizar', $route);

O funcionamento é exatamente igual a anterior, com exceção que agora o que vier depois de “usuario” será passado como parametro.

3. Rota com expressão regular

$route = new Zend_Controller_Router_Route_Regex('produto/([0-9]+)',array(
                                                                          'module'=> 'default',
                                                                          'controller' => 'produtos',
                                                                          'action' => 'detalhes'),
                                                                   array("id" => 1)
                                                );
$router->addRoute('default.produtos.detalhes', $route);

Já deve ter percebido que aonde voce define a rota, existe uma expressão regular entre parenteses. Ela será o nosso parametro agora (que está contido em “id”) conforme foi atribuido no array seguinte.

Pegando os parâmetros
No controller, utilize:

$this->_getParam("nome_parametro")

Simples e funcional ^^

SEO Powered by Platinum SEO from Techblissonline