MVC Completo - #8 Arquivo Despachante I
12/04/2018Hoje iniciaremos a construção do nosso arquivo despachante. O arquivo despachante é o responsável por pegar a requisição do usuário e chamar o controller correto.
MVC: Arquivo despachante
Criaremos na nossa pasta app o arquivo Dispatch.php. Esse arquivo será uma class que conterá 4 métodos. Hoje veremos o método construct e o método addController que é o responsável por selecionar o controller correto de acordo com a requisição do cliente.
Essa classe extenderá a ClassRoutes criada na aula anterior e de acordo com a rota selecionará o controller correto.
namespace App;
use Src\Classes\ClassRoutes;
class Dispatch extends ClassRoutes{
#Atributos
private $Method;
private $Param=[];
private $Obj;
#Método Construtor
public function __construct()
{
self::addController();
}
#Método de adição de controller
private function addController()
{
$RotaController=$this->getRota();
$NameS="App\\Controller\\{$RotaController}";
$this->Obj=new $NameS;
}
#Método de adição de método do controller
private function addMethod()
{
}
#Método de adição de parâmetros do controller
private function addParam()
{
}
}
Instanciando o Despachante na Index
Para que nosso despachante funcione, precisamos instanciá-lo na nossa public/index.
$Dispatch=new App\Dispatch();
Criando um Controller de Teste
Posteriormente vamos criar um controller de teste seguindo uma das rotas já criadas na aula anterior.
namespace App\Controller;
class ControllerSitemap{
public function __construct()
{
echo "Controller do sitemap!";
}
}
Repare que de acordo com a requisição do usuário, o sistema buscará nas rotas e exibirá o controller correto.
Na próxima aula, além de selecionarmos o controller, vamos selecionar o método específico dentro desse controller.