Aller au contenu principal

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

Image
Par Thierry V le

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.