Drupal 8 - Squelette de module (ou pas)

Générer un squelette de module ? trop facile.

Dans le cadre des articles sur la série à propos de la Création d'un module avec Drupal 8, nous avons installé Drupal Console et installé notre site web Drupal 8. Nous allons maintenant utiliser Drupal Console pour générer un squelette de module en quelques instants.

Génération d'un squelette de module

Outre de multiples possibilités de gestion, Drupal Console est très efficace pour le développement de modules. Via les fonctions de type "generate", nous allons pouvoir créer un squelette de module en répondant simplement à quelques questions.

Via le terminal, on se place à la racine du site, et on lance la commande

# se placer dans le répertoire racine du site
cd /Users/titouille/Dev/web/htdocs/sabugo/drupal8
 
# démarrer la génération d'un squelette de module
drupal generate:module

qui va démarrer une série de questions afin de connaitre les bases à mettre en place pour notre module :

MacPro:drupal8 titouille$ drupal generate:module
 
 // Welcome to the Drupal module generator
 
 Enter the new module name:
 > Internal link
 
 Enter the module machine name [internal_link]:
 > 
 
 Enter the module Path [/modules/custom]:
 > 
 
 Enter module description [My Awesome Module]:
 > Add internal links on textual contents.
 
 Enter package name [Custom]:
 > SEO
 
 Enter Drupal Core version [8.x]:
 > 
 
 Do you want to generate a .module file (yes/no) [no]:
 > yes
 
 Define module as feature (yes/no) [no]:
 > 
 
 Do you want to add a composer.json file to your module (yes/no) [yes]:
 > 
 
 Would you like to add module dependencies (yes/no) [no]:
 > 
 
 
 Do you confirm generation? (yes/no) [yes]:
 > yes
 
Generated or updated files
 Site path: /Users/titouille/Dev/web/htdocs/sabugo/drupal8
 1 - modules/custom/internal_link/internal_link.info.yml
 2 - modules/custom/internal_link/internal_link.module
 3 - modules/custom/internal_link/composer.json
MacPro:drupal8 titouille$ 

Une fois la commande exécutée, nous pouvons aller voir le résultat dans le répertoire modules/custom. Nous trouvons un répertoire "internal_link" contenant 3 fichiers, comme indiqué ci-dessus:

Structure du module de base

  • internal_link.info.yml, qui est la version D8 du fichier de déclaration d'un module ([module].info).
  • internal_link.module, qui est le fichier de base du module. Il n'est plus obligatoire, mais il peut servir dans certains cas, tel que l'utilisation des hooks standard que D8 continue de proposer.
  • composer.json, qui contient la déclaration du module sous forme JSON, pour pouvoir l'utiliser avec composer.

Conclusion

Comme vous le voyez, Drupal Console est particulièrement pratique pour ce genre de petites tâches. Son utilisation va permettre de gagner du temps sur les traitements basiques.

Maintenant que nous avons notre module, nous allons pouvoir commencer à l'implémenter. Mais avant ça, nous survolerons dans l'article suivant le système d'annotations de Drupal 8.

Ajouter un commentaire

CAPTCHA
Cette question permet de savoir si vous êtes un visiteur ou un robot de soumission de spams