Depurar PHP en VSCode
VSCode dispón para PHP, coma para outras linguaxes, de algunhas funcións como resaltado de sintaxe, coincidencia de corchetes, auto completado de código e fragmentos listos para usar. Ademais se lle poden agregar aínda máis funcións a través de extensións.
Linting (espeluxando)
VS Code utiliza o linter oficial de PHP (<code>php -l</code>) para o diagnóstico da linguaxe PHP.
Se usas Xampp, Laragon,… ou calquera outra suite *AMP, asegúrate de ter unha instalación completa de PHP.
Hai tres configuracións para controlar o linter PHP:
– “php.validate.enable“: controla si se habilita o linting de PHP. Habilitado de forma predeterminada.
– “php.validate.executablePath“: apunta ao executable PHP no disco. Configura isto se o executable PHP non está na ruta do sistema.
– “php.validate.run“: controla se a validación se activa ao gardar – `”onSave”` – ou ao escribir – `”onType”` -. O valor predeterminado é `”onSave”`.
Para cambiar a configuración de PHP, abre a Configuración de usuario ou de espazo de traballo ( `Ctrl + ,` ) – escribe ‘php’ para filtrar a lista de configuracións dispoñibles.
Extensións
Existen moitas extensións dispoñibles para PHP – unhas 830 alo menos a dia de hoxe.
A úneca que podería recomendar para un uso xeral é **[PHP TOOLS](https://marketplace.visualstudio.com/items?itemName=DEVSENSE.phptools-vscode)**.
## Depuración
VSCode admite a depuración de PHP con XDebug a través da extensión ‘[PHP Debug](https://marketplace.visualstudio.com/items?itemName=xdebug.php-debug)’.
:eye: Esta extensión xa ven integrada en ‘PHP Tool’.
Comproba que ademais tes instalada e habilitada a extensión XDebug na configuración do teu servidor de proba. Ver `php.ini`.
Crear perfil de depuración
i
– Abrir o teu arquivo ou proxecto PHP
– Premer F5
– Seleccionar: ‘Profile current script’
ii
– Executar o servidor local
– Executar e depurar
– Crear `launch.json` (para Xdebug)
– Editar `launch.json`
“`json
…
“configurations”: [
{
+ “name”: “Launch built-in server and profile”,
“type”: “php”,
“request”: “launch”,
“runtimeArgs”: [
“-S”,
“localhost:8000”,
“-t”,
+ “./public” // apuntar ao index.php raiz do proxecto
],
+ “profile”: true,
+ “openProfile”: true,
“port”: 9003,
“serverReadyAction”: {
“action”: “openExternally”
}
},
…
]
“`
Xa tes un perfil de depuración para o teu proxecto. Executa o servidor local cando precises verificar o teu código, este perfil gardado en `launch.json` aplicará a súa configuración a dito proceso.