gust.php 1 Denunciar post Postado Agosto 22, 2016 Fala galera, beleza ... To precisado de uma ajuda ... O seguinte, estou em um controller, dentro de uma action, no final dela estou tentando devolvar a $view com outra Action, assim: Isso aqui esta dentro da Action editar. $view->$this->getRequest()->getgestaoAction(); gestaoAction(), é uma Action que ja existe e funciona. To recebendo o erro abaixo: Catchable fatal error: Object of class Application\Controller\ServicoController could not be converted to string in /var/www/html/SGT/module/Application/src/Application/Controller/ServicoController.php on line 201 Estou usando o Zend2. Tem como eu chamar uma Action dentro de ourta? Obrigado; Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Agosto 23, 2016 Antes de dizer que você não deve fazer isso, me diga o porquê você quer fazê-lo. Compartilhar este post Link para o post Compartilhar em outros sites
gust.php 1 Denunciar post Postado Agosto 23, 2016 A rota é a mesma para as 2 Actions. Na Action gestao, eu mostro todos os registros do dia, quando edito um registro e modifico ele, quero no final, voltar para a mesma página, no caso, a action que chama a página gestao. Reutilizar código. Como você falou que não é o recomendado, criei um função e chamo a mesma nas 2 Actions, ficou mais fácil. Curiosidade. Porque não devo fazê-lo ? Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Agosto 24, 2016 Até onde me lembro do Zend, uma action é referente a uma rota pelo controller. Sendo assim, uma action não deve conhecer outras, apenas saber quando ela está sendo chamada e o que executar. Basicamente, em uma arquitetura MVC, uma view chama uma rota. A action reconhece essa rota como dela ou algum dispatcher diz para qual action deve ser enviada a requisição. Chamar duas actions implica em possuir duas rotas ou muitas responsabilidades em um controller. Dessa forma, a sua regra de negócio está no lugar errado (pois, então, seria responsabilidade do Model) ou você poderia estar fazendo um redirecionamento. Sendo o MVC uma arquitetura para voltada para a View, um Controller deve estar ligado a uma view. A chamada de dois controllers, resulta, também, em uma chamada de duas views. A não ser que, depois de alguns anos sem trabalhar com Zend, eles tenham mudado, essa é a teoria geral do MVC aplicada no Zend. Compartilhar este post Link para o post Compartilhar em outros sites
gust.php 1 Denunciar post Postado Agosto 24, 2016 Fala Gabriel, Continua assim mesmo, perfeito. Só que como eu to dentro da mesma rota, onde nesta rota eu tenho varios Actions, eu pensei em chamar uma Action em outra Action. Fiz diferente, usei um setTemplate e chamei a view da Acttion que eu queria passando os dados para ela. Deu certo. Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites