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

The best games are built with HTML, CSS, JS today are compiled by us at <a href="https://sudoku247.co">Sudoku 247</a>, and they are completely free for you. Let's play and experience to have the best relaxing moment!

Ajouter un commentaire

Ne sera pas publié

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