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

Posté le Mardi 14 mai 2019 - 07:24
Dernière mise à jour le Dimanche 13 juin 2021 - 14:57

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];

 

Aller plus loin ?

 

Commentaires

Ajouter un commentaire

Ne sera pas publié

CAPTCHA Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...