Ao longo deste rápido tutorial veremos como criar um Controller no Magento 2. Controllers são classes responsáveis por tratar uma requisição em uma URL específica.
Veja também: Como criar um Controller no Magento 1.
Atenção: em versões mais novas do Magento, há uma nova forma de se escrever Controllers.
Após criar um módulo básico de Magento 2, nós vamos:
- Definir o URL que vamos usar no nosso controller
- Criar o arquivo de rotas
- Criar a classe do controller
- Limpar o cache do Magento
Definindo a URL do nosso controller
A composição de uma URL definirá o nome da nossa rota (definida no arquivo routes.xml) e também o nome do nosso controller e da nossa action.
Vejamos:
http://magenteiro.com/nome_da_rota/nome_do_controller/action
Com isso, saiba que:
- O nome da rota é um nome único, definido dentro do arquivo routes.xml que vamos criar adiante
- O nome do controller é o nome da pasta que estará dentro da pasta
Controllerdo nosso módulo - A action é o nome da nossa classe que estará dentro do diretório acima e conterá um método chamado
execute().
Para fins deste exemplo, nossa URL será http://magenteiro.com/minharota/meucontroller/surpresa e o nome do nosso modulo será Magenteiro_Supimpa (porque hoje minha criatividade está o máximo).
Criando o arquivo de rotas (routes.xml)
Crie o seguinte arquivo:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="standard">
<route id="supimpa" frontName="minharota">
<module name="Magenteiro_Supimpa"/>
</route>
</router>
</config>
Note que a declaração da primeira parte do caminho da nossa URL foi definida no parâmetro frontName.
Criando a classe do Controller
<?php
namespace Magenteiro\Supimpa\Controller\Meucontroller;
class Surpresa extends \Magento\Framework\App\Action\Action
{
public function execute()
{
echo "Surpresa!";
}
}
Note que todos os Controllers devem estender \Magento\Framework\App\Action\Action e ter um método execute().
É neste método que nossa mágica acontece.
Limpando o cache
Se você está criando o módulo agora, é possível que ele ainda esteja desabilitado. Você pode conferir isso digitando bin/magento module:status.

Se for o seu caso, habilite o módulo (bin/magento module:enable Magenteiro_Supimpa) e faça um upgrade (bin/magento setup:upgrade).
Se você já está com o módulo habilitado e só está adicionando o controller, basta limpar o cache (bin/magento cache:clean)
Estamos prontos? Vamos!
Agora já podemos testar nosso Controller.

No próximo artigo da série vou mostrar como implementar o arquivo de layout XML no nosso controller. Afinal de contas, acho que você não vai ficar feliz só com a Surpresa acima, não é mesmo?
Quer mais?
Se inscreva no nosso curso de desenvolvimento para Magento 2. Lá eu ensino isso e muito mais. Dessa forma você conhecerá pessoas incríveis no nosso grupo secreto de estudos, trocará experiências e ainda terá alguns benefícios exclusivos como descontos em ferramentas e dicas.
Download do Módulo acima
Perdeu alguma coisa? Informe seu nome e e-mail abaixo e receba o módulo que acabamos de fazer neste tutorial.
- Guest checkout bloqueado na API REST do Magento 2? Confira isso. - 7 de julho de 2026
- Você precisa testar esta plataforma de e-commerce - 9 de fevereiro de 2026
- A hora de montar o seu OnlyFans chegou! Veja 8 ideias pra começar o seu. - 4 de dezembro de 2024
Deixe seu comentário
[fbcomments url="https://www.magenteiro.com/blog/magento-2/controller-no-magento-2-como-criar/"]