Lorsque vous faites du développement sous Drupal, vous serez amenés à exécuter des scripts PHP, effectuer des traitements sur différents champs ou nodes.
Dans ses situations, créer un module dédié à ces quelques tests / scripts serait une perte de temps.
Dans ce cas, créer un script PHP et « bootstrap » Drupal pour avoir accès à certaines fonctions telles que node_load, user_load ou db_select.
Drupal Bootstrap
Pour « bootstrap » Drupal, vous avez besoin d’ajouter ces lignes dans votre script :
<?php
// Drupal Bootstraping.
$drupal_core_path = $_SERVER['DOCUMENT_ROOT'];
define('DRUPAL_ROOT', $$drupal_core_path);
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
// Drupal Bootstrap loaded.
// Do something.
$user = user_load(1);
Pour s’exécuter, le script doit être placé à la racine du répertoire Drupal, puis vous aurez à lancer dans un navigateur et aller sur http://www.votresite.fr/mon_script.php
C’est long hein ? C’est justement là que Drush entre en jeu.
La puissance de Drush
Drush dispose d’une foule de méthodes, celle qui nous intéresse ici est « Drush Script » (alias. Drush scr). Elle permet d’exécuter le script depuis la ligne de commande :
$ drush scr mon_script.php
De plus, Drush s’occupant du bootstrap, vous pouvez transformer votre script en :
<?php
// Drupal is already Bootstrapped
// We can use Drupal functions
$user = user_load(1);
Après, par habitude, je n’aime pas laisser traîner trop de scripts dans la racine de mon projet. J’ajoute mes scripts dans un répertoire « custom » qui contient tous les scripts. Ça me permet notamment d’éviter les erreurs lors de suppression des scripts d’exécuter les dis scripts sur d’autres installations de Drupal, rien qu’en déplaçant les sources 
$ drush scr ../custom/mon_script.php
The post Ne « Bootstrap » pas Drupal, utilises Drush ! appeared first on Benftwc.