Olá, tudo bom com você?

Se você que sempre achou complicado configurar e usar XDebug, ainda por cima utilizando Docker + PHPStorm, esse post foi feito exclusivamente para desmistificar esse processo para você.

O que é XDebug?

XDebug é um módulo do PHP que tem como finalidade monitorar nossa aplicação  visualizando cada passo que é executado e valor que é atribuído sem a necessidade de ficar adicionando código na nossa aplicação .

O que é o PHPStorm?

PHPStorm é uma IDE de desenvolvimento de software utilizada profissionalmente que possui um grande arsenal de ferramentas que possibilitam a criação, organização e monitoramento de código com mais facilidade.

Iniciando

Primeiramente precisamos configurar a IDE PHPStorm para que seja possível monitorar nossa aplicação à partir dele.

  • Selecione o menu Tools > DBGp Proxy > Configuration...

[caption id="attachment_429" align="aligncenter" width="1020"] PHPStorm DBGP Proxy Configuration[/caption]

  • Preencha sua IDE Key, host e porta que trabalhará com seu container PHP que está rodando dentro do Docker.

[caption id="attachment_431" align="aligncenter" width="330"]DBGp Proxy Configuration DBGp Proxy Configuration[/caption]

 

  • Para Iniciar o modo Debug do XDebug, clique no ícone que mais parece um pequeno telefone!

[caption id="attachment_430" align="aligncenter" width="273"]Start Listening for PHP Debug Connections Start Listening for PHP Debug Connections[/caption]

  • Após clicar no ícone ele deverá ficar dessa maneira:

[caption id="attachment_434" align="aligncenter" width="249"]START LISTENING FOR PHP DEBUG CONNECTIONS AFTER CLICK START LISTENING FOR PHP DEBUG CONNECTIONS AFTER CLICK[/caption]

Pronto agora vamos para a configuração do server.

  • Nas configurações do seu PHPStorm, acesse Languages & Frameworks > PHP > Servers
  • Clique no "+" e Adicionar um novo server com o nome que desejar. No meu caso chamei de xDebug.
  • Adicionar o host localhost e a porta 9000

Pronto! Se você seguiu esse passo a passo provavelmente suas configurações devem estar como abaixo:

[caption id="attachment_500" align="aligncenter" width="1020"]PHPStorm Server Config PHPStorm Server Config[/caption]

[caption id="attachment_502" align="aligncenter" width="1020"]PHPStorm DBGp Proxy configs PHPStorm DBGp Proxy config[/caption]

 

Configurando o container de aplicação 

Feitos os passos acima, agora é necessário configurar nosso container da aplicação para trabalhar habilitar a extensão do XDebug e configurar parâmetros desejados.

Para facilitar para você, criei um repositório no github ensinando a criar uma imagem e gerar um container através de uma estrutura inicial que eu já montei para facilitar.

Então vamos lá, caso você ainda não tenha nenhuma imagem ou container, clone o repositório abaixo e siga os passos descritos no repositório.


https://github.com/vinnyfs89/docker-php-xdebug


Se você executou os passos acima corretamente, quando você executar o comando "docker ps" em seu terminal, deve aparecer algo como isso:

[caption id="attachment_435" align="aligncenter" width="1020"]docker container status docker container status[/caption]

Conclusão

Após executar os passos descritos no repositório acima, você já estará pronto pra trabalhar com o XDebug no seu projeto utilizando o Docker!

Agora sempre que você adicionar um breakpoint à sua aplicação, estiver com o xDebug ativado e acessar o caminho desejado, você poderá monitorar e manipular os valores desejados em tempo de execução.

Lembrando que esse tutorial foi desenvolvido com o foco para PHPStorm, mas o mesmo é válido para quem trabalha com outros clients com suporte ao XDebug.

Espero que tenha gostado! Qualquer dúvida ou sugestão de melhoria, entre em contato ou mande um pull request que será muito bem vindo!

Abraço!