setActionName não executa a ação chamada?

Zend_Cache, Zend_Config, Zend_Console_Getopt, Zend_Filter, Zend_Log, Zend_Memory, Zend_Registry, Zend_Validate

Moderador: victortorres

setActionName não executa a ação chamada?

Mensagempor rylphs » Sex Out 16, 2009 11:38 am

Alguém sabe me dizer qual é o comportamento da função Zend_Controller_Request_Abstract::setActionName()?
Se eu tenho o seguinte código por exemplo:
Código: Selecionar tudo
<?php
class SomeController extends Zend_controller_Action{
...

   public function someAction(){
      $this->_request->setControllerName('another')
                             ->setActionName('another');
   }
}

class AnotherController extends Zend_controller_Action{
...

   public function anotherAction(){
      echo "executed!!";
   }
}


Quando eu chamo no browser "some/some", o conteúdo de "another/another" é exibido, mas o método anotherAction não é executado. É isso mesmo?
rylphs
Leitor
 
Mensagens: 1
Data de registro: Sex Out 16, 2009 10:38 am

Re: setActionName não executa a ação chamada?

Mensagempor TulioBraga » Sex Out 23, 2009 11:06 pm

Na verdade tanto o método anotherAction() quanto a view another.phtml são executado. A grande diferença para um acesso desta forma é o fato de a URL não alterar.


Código: Selecionar tudo
$request = clone $this->getRequest();

$request->setActionName('another')//Define a action a ser acessada
             ->setControllerName('another');//Define o Controller a ser acessado
$this->_helper->actionStack($request);//Chama a action definida no controller definido


Fazendo desta forma, ao acessar /some/some, você exibirá o conteúdo de someAction() mais o conteúdo de anotherAction() sem mudar a URL para /another/another.

http://framework.zend.com/manual/en/zend.controller.actionhelpers.html#zend.controller.actionhelpers.actionstack
Editado pela última vez por TulioBraga em Sex Out 23, 2009 11:25 pm, num total de 1 vezes
Razão: Corrigindo nome do controller e módulo dados como exemplo pelo usuário que postou a dúvida.
Avatar de usuário
TulioBraga
Participante
 
Mensagens: 51
Data de registro: Sex Mar 06, 2009 12:00 am
Localização: Belo Horizonte


Retornar para Core

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante

cron