Controladores no MVC em PHP

A primeira coisa que vamos entender são os controladores. Os controladores processam as solicitações do usuário, compreendem o que o usuário queria pedir ao site, solicitam os dados correspondentes do modelo e os enviam para a visualização.

Os controladores são classes OOP. Um arquivo - é uma classe e, consequentemente, um controlador. Em nosso framework, os controladores serão armazenados na pasta project/controllers.

Vamos praticar a criação de controladores. Para aquecer, vamos criar a classe PageController, que irá gerenciar as páginas de texto em nosso site.

Vamos criar imediatamente o arquivo para nosso controlador. Pelos regras do nosso framework, cada classe deve ser armazenada em um arquivo com o mesmo nome (inclusive o caso). Ou seja, nossa classe PageController será armazenada no arquivo PageController.php. Crie este arquivo na pasta project/controllers.

Vamos criar nossa classe neste arquivo:

project/controllers/PageController.php<?php
  namespace Project\Controllers;
  use \Core\Controller;
  
  class PageController extends Controller
  {
    
  }
?>

Como você pode ver, nossa classe pertence ao namespace Project\Controllers, seguindo a convenção de carregamento automático de arquivos (ou seja, o caminho pelas pastas deve coincidir com o namespace).

Além disso, nossa classe herda da classe Core\Controller, localizada no núcleo do framework. Não é necessário procurar um sentido profundo nisso, basta aceitar como uma regra do framework. Eis a regra: todos os controladores criados por você devem herdar da classe Core\Controller, para que tudo funcione como deveria.