Calidad

Configurar Xdebug3 para depurar código con VSCode usando los contenedores wodby 4 drupal

Submitted by Oskar on Wed, 14/04/2021 - 23:34

Con las últimas versiones de PHP 7.4 se ha cambiado de versión también en Xdebug, ahora las últimas versiones de php 7.4 y 8.x tiene Xdebug 3.x, y trae varios cambios respecto a la versión 2.x, vamos a ver como configurar el contenedor de Wodby 4 Drupal y el editor VSCode para poder depurar nuestro código.

 

Lo primero, en el archivo docker-compose.override.yml vamos a descomentar las siguientes opciones:

  php:
    environment:
#      SSH_AUTH_SOCK: /ssh-agent
#      # Read instructions at https://wodby.com/docs/stacks/php/local/#xdebug
      PHP_XDEBUG: 1
      PHP_XDEBUG_MODE: debug
#      PHP_IDE_CONFIG: serverName=my-ide
#      PHP_XDEBUG_IDEKEY: "my-ide"
#      PHP_XDEBUG_CLIENT_HOST: host.docker.internal # Docker 18.03+ Mac/Win
      PHP_XDEBUG_CLIENT_HOST: 172.17.0.1 # Linux
#      PHP_XDEBUG_CLIENT_HOST: 10.254.254.254 # macOS, Docker < 18.03
#      PHP_XDEBUG_CLIENT_HOST: 10.0.75.1 # Windows, Docker < 18.03
#      PHP_XDEBUG_LOG: /tmp/php-xdebug.log
      PHP_XDEBUG_REMOTE_AUTOSTART: 1
      PHP_XDEBUG_DEFAULT_ENABLE: 1
      PHP_XDEBUG_REMOTE_CONNECT_BACK: 0

 

Tenemos que regenerar el contenidor ejecutando: 

docker-compose up --build

 

Una vez configurado el contenedor tenemos que instalar el plugin de Xdebug para VScode, existen varios plugins de Xdebug para VSCode, yo he instado el creado por Felix Becker, tiene más de 4 millones de descargas, al instalarlo aparece en la barra de iconos de VSCode de la izquierda el icono de play/triangulo y un escarabajo..

 

 

Image
Botón activación xdebug VSCode

 

Al pinchar en el icono de Xdebug muestra el siguiente texto:

Image
Configurar xdebug en VSCode

 

Pincha en el enlace create a launch.json file, del listado de opciones del desplegable que se muestra seleccionamos PHP, y nos creará un archivo con el siguiente texto:

Drupal y CodeSniffer para mantener la calidad del código de nuestros proyectos

Submitted by Oskar on Mon, 05/04/2021 - 18:03

CodeSniffer es un script de PHP5 que analiza código PHP para detectar violaciones de un conjunto definido de normas de codificación. Analiza el código fuente para ver si cumple o no con un estándar, ya sea Zend, Pear o uno personalizado.

Junta de Andalucía

 

CodeSniffer es una herramienta muy sencilla de usar y con uan instalación muy simple que permitirá mantener los estándares de codificación de nuestros proyectos.
La inslatación es muy sencillo, lo primero comprobamos que tengamos instalado CodeSniffer 

phpcs -i

Tiene que devolver algo parecido a esta salidad, no exactamente la misma ya que yo ya tengo instalada los estándares de Drupal:

The installed coding standards are Zend, PSR1, PSR12, Squiz, PEAR, MySource, PSR2, Drupal, DrupalPractice and VariableAnalysis

Si no tenemos instalado CodeSniffer lo instalamos:

composer require --dev drupal/core-dev

Y comprobamos que ahora si tengamos instalado el CodeSniffer.

 

Una vez instalado tenemos que instalar los estándares de código de Drupal:

composer require --dev dealerdirect/phpcodesniffer-composer-installer

 

Y ya tendríamos instalado lo básico que usar esta herramienta.

Para usar el analizador de CodeSniffer lo ejecutamos de la siguiente manera:

phpcs --standard=Drupal --extensions=php,module web/modules/contrib/

 

Con esta orden o nos indica que esta todo bien o nos devolverá un informe como el siguiente:

OVH y lo inesperado

Submitted by Oskar on Sat, 13/03/2021 - 11:05

Vamos a ser sinceros, nadie se esperaba que un datacenter OVH ardiese quemando todo, ni ellos ni nosotros, tampoco quiero cortar cabezas, prefiero que OVH haya aprendido de sus errores y haga todo lo posible para que estos errores no vuelvan a ocurrir.

Por otro lado, no tenemos que llevarnos las manos a la cabeza diciendo que OVH no son profesionales, son unos inútiles, etc, o no al menos hasta que sepamos (si algún dia sabemos) que ha pasado, porque otra catástrofe parecida ocurría en 2011 cuando el datacenter de Amazon en Irlanda dejaba de funcionar al caer un rayo.

 

Image
Edificio/datacenter de OVH ardiendo.


Y si preguntamos a la gente de sistemas descubrimos que desastres como estos han ido ocurriendo a lo largo de la historia, recuerdo uno que ocurrió hace muchos años en un datacenter en EEUU, no recuerdo cual fue el problema, si la solución y fue volcar a cintas de backup de HP y traslada dichas cintas en furgoneta a otro datacenter, como esta existen más historias, y como parece que estamos condenados a que ocurran vamos a ver varios "trucos" para evitar que esto pase.

 

Subscribe to Calidad