Olá. Tudo bom com você?
Se você sempre achou complicado configurar e usar XDebug, ainda por cima utilizando Docker + PHPStorm, esse artigo 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 o valor que é atribuído sem a necessidade de ficar adicionando código na nossa aplicação.
O que é o PHPStorm?
O 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…
- Preencha sua IDE Key, host e porta que trabalhará com seu container PHP que está rodando dentro do Docker.
- Para Iniciar o modo Debug do XDebug, clique no ícone que mais parece um pequeno telefone!
- Após clicar no ícone, ele deverá ficar dessa maneira:
Pronto! Agora vamos para a configuração do server.
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:
Dockerfile prepared to work with xDebug on entrypoint through docker-compose
https://github.com/vinnyfs89/docker-php-xdebug
Recent commits:
- [FIX] Change of default output xDebug dir, Vinícius Feitosa da Silva
- Merge remote-tracking branch ‘origin/master’, Vinícius Feitosa da Silva
- [UPDATE] Ajuste para que faça a instalação somente quando parametrizado., Vinícius Feitosa da Silva
- [FIX] Fixing space between “#” and letters, GitHub
- [ADD] Adding structure to use this repo right, Vinícius Feitosa da Silva
Se você executou os passos acima corretamente, quando você executar o comando “docker ps” em seu terminal, deve aparecer algo como isso:
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 e 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 artigo 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!