Activar el modo desarrollo en Drupal 8

Imagen
Un estetoscopio al lado de un Mac

En Drupal 8 muchas cosas han cambiado, y a la hora de desarrollar mas todavía. Uno de los problemas que tenemos, es el tener que limpiar cache cuando desarrollamos para ver por ejemplo la salida de un dpm, si tu terminal se parece a la mía, tienes ese problema.


$ drush cr
Cache rebuild complete. [ok]
$ drush cr
Cache rebuild complete. [ok]
$ drush cr
Cache rebuild complete. [ok]
$ drush cr
Cache rebuild complete. [ok]
$ drush cr
Cache rebuild complete. [ok]

Para no tener que limpiar la cache cada vez que hacemos una prueba y queremos ver la salida de un dpm por ejemplo, tenemos que activar ciertas opciones para que Drupal no utilice la cache interna que tiene, los pasos son los siguientes:

1: Copiar el archivo sites/example.settings.local.php a sites/default/settings.local.php


$ chmod 755 sites/default/
$ cp sites/example.settings.local.php sites/default/settings.local.php
$ chmod 744 sites/default/settings.php

2: En nuestro sites/default/settings.php descomentar las siguientes lineas:

$ nano sites/default/settings.php

if (file_exists(__DIR__ . '/settings.local.php')) {
  include __DIR__ . '/settings.local.php';
}

3: En el archivo sites/default/settings.local.php descomentamos algunas lineas:


$ nano sites/default/settings.local.php

$settings['cache']['bins']['render'] = 'cache.backend.null';
$settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';

4: Volvemos a poner los permisos iniciales:


$ chmod 555 sites/default/
$ chmod 444 sites/default/settings.php

5: Limpiar la cache de Drupal ejecutando "drush cr" en la terminal.


$ drush cr

Como paso adicional, podemos activar el modo debug en Twig:

1: Copiar el archivo sites/default/default.services.yml a sites/default/services.yml.

2: Modificar los siguientes parametros


parameters:
  twig.config:
  debug: true
  auto_reload: true
  cache: false

3: Limpiamos la cache de Drupal con “drush cr”.

Adicional:

Tambien podemos saltarnos todos estos pasos, y utilizar Drupal console con el comando "drupal site:mode dev", pero al hacer esto, debemos realizar igualmente la edicion del archivo settings.php para utilizar el archivo settings.local.php y descomentar las dos lineas que se comentan en el articulo. Para poner el sitio en modo produccion, debemos usar "drupal site:mode prod" y editar el archivo settings.php para que no use el archivo settings.local.php

Con estos sencillos pasos ya tendremos nuestro Drupal 8 preparado para desarrollar. Debemos recordar revertir estos pasos cuando vallamos a poner nuestro sitio en producción.