Pour commencer à développer sous Drupal 8, il faut d'abord configurer son environnement et désactiver tous les caches de Drupal (render cache, dynamic page cache, Twig cache).
Création du fichier local settings
Tout d'abord on va créer un fichier settings local qui contiendra nos réglages pour notre environnement. Pour ça on va copier le fichier sites/example.settings.local.php dans sites/default/settings.local.php.
$ cp sites/example.settings.local.php sites/default/settings.local.php
Ensuite on ouvre le fichier sites/default/settings.php pour inclure ce ficher local.settings.php, on décommente les lignes suivantes :
if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) {
include $app_root . '/' . $site_path . '/settings.local.php';
}
Configuration du fichier local settings
On peut changer ces 2 paramètres à TRUE si on veut travailler avec le css et js aggregation :
$config['system.performance']['css']['preprocess'] = FALSE;
$config['system.performance']['js']['preprocess'] = FALSE;
Il faut en revanche décommenter ces 2 lignes pour désactiver le "render cache" et le "dynamic page cache" :
$settings['cache']['bins']['render'] = 'cache.backend.null';
$settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';
Et la ligne suivante :
$settings['cache']['bins']['page'] = 'cache.backend.null';
Si on ne veut pas installer les thèmes et modules de test, on peut setter cette ligne à FALSE:
$settings['extension_discovery_scan_tests'] = FALSE;
Configurer le fichier development.services.yml
NOTE: Il ne faut pas recréer ce fichier, il existe déjà dans le répertoire /sites.
Ci dessous la configuration à adopter pour le fichier development.services.yml (attention à l'indentation dans le fichier YML) :
# Local development services.
#
# To activate this feature, follow the instructions at the top of the
# 'example.settings.local.php' file, which sits next to this file.
parameters:
http.response.debug_cacheability_headers: true
twig.config:
debug: true
auto_reload: true
services:
cache.backend.null:
class: Drupal\Core\Cache\NullBackendFactory
Twig cache: On peut réactiver le cache de twig en modifiant les paramètres debug et auto_reload avec la valeur false.
Enfin il faut vérifier que ce fichier development.services.yml est bien activé dans notre fichier settings.local.php :
$settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';
On peut maintenant commencer à coder! ;)