kgaut.net // Développeur web PHP / Drupal freelance
contactez-moi

Drupal - Drush - Appeler un script php et lui passer un argument

Cet article a été écrit il y a plus de quatre ans, son contenu n'est peut-être plus d'actualité.

Il est possible via drush d’exécuter un script php et de profiter de toute l'API de drupal pour effectuer des traitements (création / suppression de contenu, modification, import de traductions...)

On utilise pour cela la commande drush php-script en lui passant le chemin vers le script relatif à la racine de drupal :

# Exemple d'appel d'un script 
drush @alias php-script ../scripts/process/import-translations.php

 

Mais il est aussi possible de passer des arguments à ce script :

#Je passe ici le chemin vers le fichier à importer 
drush @alias php-script ../scripts/process/import-translations.php --file=../files/translations/imports/2019-05-14-translations.csv

 

Et voici comment le récupérer dans notre script drush :

# Récupération du paramètre file
$file = drush_get_option('file');

 

À noter que l'on peut aussi fournir une valeur par défaut :

# ici, si --lang n'est pas passé lors de l'appel du script
# alors $lang prendra la valeur « en »

$lang = drush_get_option('lang', 'en');

 

Avec drush 9+ cela peut-être fait de la façon suivante : (drupal_get_option n'existe plus) :

#Je passe ici le chemin vers le fichier à importer 
drush php-script ../scripts/process/import-translations.php -- ./files/translations/imports/2019-05-14-translations.csv

 

Et récupérer :

$file = $extra[0];

 

Commentaires (1)

Comments