Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alexjose123

MVC -> Enviar Dados de um Controlador para outro Controlador

Recommended Posts

Situação tenho um controlado na index.php na qual realizo uma busca pelo numero de matricula de um usuario conseguido na atual view.

Quero enviar essa DADO para outro controlado de outro modulo no mesmo framework para que seja realizado o preenchimento de outra view no segundo modulo.

 

Aqui esta o trecho de codigo do controlado atual

public function requerimentoLicencaMedicaImprimirAction(){


	if( empty( $_POST["matricula"] ) ){
		   	   	$buscar["matricula"] = $_SESSION["LOGADO"]["FUNCIONARIO"]["matricula"];
			} else {
				$buscar["matricula"] = $_POST["matricula"];
	}

	//addicionar funcionario a View
   	$rh = new Funcionario();
   	$funcionario = $rh->buscarFuncionario($buscar);
   	$this->funcionario = $funcionario;

      	// minha duvida esta nesta parte do codigo ? como redirecionar para outra action em outro controlador de outro modulo ?
   	$this->output("index.php?m=modelos&a=requerimentoLicencaMedicaImprimir");
}

 

A minha duvida esta nesta parte do codigo de envio, como redirecionar para outra action em outro controlador de outro modulo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como que o seu sistema "sabe" que a requisição que está sendo feita deve ser manipulada pelo método requerimentoLicencaMedicaImprimirAction() (aliás, que enorme, hein)?

 

Se você analisa uma querystring e de acordo com alguma lçógica instancia o objeto do Controller e invoca tal método, paras redirecionar as informações você vai fazer a mesma coisa, isto é, redirecionar o fluxo da requisição para outra página, via header().

 

OU você pode instanaciaro Controller que possui o método desejado e onvocar o dito cujo, mas daí vira gambiarra (e das grossas).

 

Pergunta: Porque não fazer na própria View um formulário que já aponte para esse método, desse Controller de outro módulo? Assim você pula uma etapa e poupa dor de cabeça.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por falar em MVC... como é que se verifica as requisições? Ou seja, como sei que meusite.com.br/cadastro/editar está requisitando a função editar do meu controlador cadastro.php?

Compartilhar este post


Link para o post
Compartilhar em outros sites

menini_levado, isso vai da estrutura que você desenvolveu. Existem várias possibilidades: querystring, tudo pelo htaaccess (credo)...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como o CakePHP, por exemplo.

app/
   models/
       cadastro.php
   controller/
       cadastro_controller.php
   views/
       cadastro/
           editar.php

Ou qualquer outra estrutura.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, estrutura o único "padrão" (entre aspas ainda) seria a nomeclatura models, views e controllers que é quase sempre essa mesmo e todas as três sempre juntas.

 

Fora isso, cada um trabalha com a que se sente mais confortável. A questão que eu perguntei ao autor do tópico (antes que a grente desvirtue o mesmo) é como ele está fazendo para "dizer" ao Controller que aquela requisição é dele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.