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:
- 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.