Não consigo recuperar os parâmetros da URL

157 views
Skip to first unread message

Adriano de Moura

unread,
Sep 9, 2011, 12:06:11 PM9/9/11
to zfbrasil
Pessoal,

Tenho a seguinte URL http://localhost/izend/cidades/listar/2/nome/desc
neste exemplo os parâmetros são '/1/nome/asc', mas no meu controlador não consigo recuperar estes parâmetros.

já tentei assim:

echo '<pre>'.print_r($this->getRequest()->getParams(),true).'</pre>';

o que retorna

Array
(
[controller] => cidades
[action] => listar
[1] => nome
[module] => default
)

Como faço pra recuperar todos os parâmetors ?

Esta implementação é para usar no Zend_Paginator, se houver outra forma de se montar a URL por favor me avisem também.

Desde já agradeço a todos.

)


--
Adriano C. de Moura
"O Complexo nada mais é do que uma fila extensa de simplicidades"
"Viva o GNU/Linux"
"Falar é fácil, me mostre o código"

Diego Noguês

unread,
Sep 9, 2011, 1:45:15 PM9/9/11
to zfbr...@googlegroups.com
Por padrão o ZF usa chave/valor.

No seu caso o primeiro parametro ficou como chave '1' recebendo valor 'nome' e 'desc' ficou como segunda chave,
mas como não tem  '/algumacoisa' após 'desc' o ZF ignorou essa chave.

Já tive bastante dor de cabeça em passar sequencias de parametros no padrão chave/valor e últimamente tenho adotado o formato mais conhecido:

http://url/controller/action?chave=valor&chave=valor



--
Essa mensagem faz parte do grupo "zfbrasil" no Google Groups.
Para escrever neste grupo, envie um email para zfbr...@googlegroups.com
Para se desligar do grupo, envie um email para zfbrasil-u...@googlegroups.com
Mais informações, visite o grupo em http://groups.google.com/group/zfbrasil?hl=pt-BR



--
Diego Noguês
di...@projecttus.com
www.projecttus.com
(41) 4063 7007 (Ramal 7008)
about.me/diegonogues

Adriano de Moura

unread,
Sep 9, 2011, 1:54:06 PM9/9/11
to zfbr...@googlegroups.com
Olá Diego,

Estou debugando aqui e por via das dúvidas eu criei um projeto novo:

adrianoc@debianI3:/var/www$ /opt/ZendFramework-1.11.5-minimal/bin/zf.sh create project teste

então o projeto 'teste' foi criado no diretório '/var/www/teste', configurei o banco de dados e criar o controller e model para cidades, de tal maneira que o acesso ficou assim:

http://localhost/teste/public/cidades/editar/?id=10
ou
http://localhost/teste/public/cidades/editar/10

o controller ficou assim:

class CidadesController extends Zend_Controller_Action
{   
    public function editarAction($id=0)
    {
        exit($id.' * <br />');
        $this->view->id = $id;
    }
}

o problema é que o parâmetro $id não está sendo recuperado, o valor retornado é sempre 0, ou seja, tem algo errado no meu projeto novo que não está pegando os parâmetros, mas não faço a mínima idéia do que seja.

Diego Noguês

unread,
Sep 9, 2011, 1:59:46 PM9/9/11
to zfbr...@googlegroups.com
Na controller:
- Pode tirar o parametro do método editarAction
- Para recuperar os dados passados na URL pode usar o getParam('id') ou getParams() para pegar todos os parametros.

Diogo Matheus

unread,
Sep 9, 2011, 1:59:47 PM9/9/11
to zfbr...@googlegroups.com
Amigo, de uma olhada na documentação oficial do framework...

Att,
Diogo Matheus

Adriano de Moura

unread,
Sep 9, 2011, 3:55:45 PM9/9/11
to zfbr...@googlegroups.com
Ok Matheus,

muito obrigado pela dica agora consegui implementar aqui, aos poucos vou pegando os caminhos das pedras :D

Att.
Adriano C. de Moura
Reply all
Reply to author
Forward
0 new messages