O Visual Studio Code tem ganhado muita atenção hoje em dia, não só por ser um editor simples e eficiente – assim como Sublime Text, Atom e Brackets – mas também por possuir diversas funções a mais, como o debugger integrado.
Hoje aprenderemos a fazer o debugger funcionar em conjunto com o PHP, utilizando a extensão PHP Debugger e o XDebug.
Iniciando com o debugger PHP no VS Code
Para iniciar, você precisará criar um arquivo para copiar o output da sua função phpinfo();, pois o site do XDebug pode analisar o output e indicar automaticamente a versão correta para você. Após copiar o output, cole nesse site e clique em “Analyse my phpinfo() output”.
Em seguida baixe a versão indicada no link gerado, logo abaixo de “Instructions”, e mova preferencialmente para a pasta “ext” da sua instalação do PHP.
Após isso, no seu arquivo .ini – ou phpForApache.ini caso você utilize o WAMP – cole o seguinte código:
[XDebug]
zend_extension = (caminho do arquivo baixado)
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
Caso você tenha colocado o arquivo baixado na pasta ext, você poderá colocar apenas o nome dele na chave zend_extension.
Em seguida reinicie seu servidor e abra o arquivo no qual você colocou a função phpinfo();. Se estiver tudo certo, irá aparecer isso, ao pesquisar por “xdebug”:
Agora vamos configurar o VS Code para usar o debugger PHP. Primeiro baixe a extensão “PHP Debugger”, por Felix Becker. A extensão requer que você faça os passos anteriores para funcionar, e então reinicie seu VS Code.
O próximo passo será fazer uma pequena edição no arquivo do phpinfo(); apenas para testar os breakpoints. Você pode adicionar breakpoints clicando ao lado no número da linha, assim como em IDEs modernas.
Agora clique no quarto ícone da lateral esquerda para entrar nas configurações de debug e clique na engrenagem “Configure or Fix ‘launch.json’” e escolha a opção PHP, isso gerará um arquivo .json dentro da pasta .vscode. Nessa pasta ficam definidas as configurações do workspace, como opções de debug, tarefas e configurações personalizadas.
Após isso, o select “No Configurations” ficará escrito “Listen for XDebug”, e então você precisa apenas clicar no botão verde para iniciar o debugger.
Experimente clicá-lo e executar o nosso arquivo de testes, você notará que a execução irá parar e seu VS Code ficará assim:
Você pode utilizar os comandos dessa área que apareceu no centro para continuar a execução, navegar pelos breakpoints, reiniciar e parar o debugger.
Aqui foi exemplificado com um script PHP simples, mas você pode utilizar essas funções de debugger em qualquer framework e até em uma execução do PHPUnit.