Olá Rodolfo, tudo bem? Espero que sim!
Pelo código que você compartilhou, parece que os cabeçalhos estão sendo definidos dentro do arquivo index.php. No entanto, no controlador, você está passando um array vazio de cabeçalhos.
É importante entender que o controlador é responsável por processar a lógica de negócio e preparar os dados para serem exibidos na view. Os cabeçalhos, por outro lado, são definidos no arquivo index.php para configurar informações adicionais sobre a resposta HTTP que será enviada ao cliente.
Portanto, não é necessário preencher o array de cabeçalhos novamente no controlador, a menos que você precise adicionar cabeçalhos específicos para uma determinada ação ou resposta.
Espero ter ajudado"
Caso tenha dúvidas, fico à disposição
Abraços e bons estudos!