Comprendre le fonctionnement des plugins drupals
Cest quoi un Plugin Drupal ?
Le plugin permet à un developpeur de construire une interface pour son application. il offre de bonne perfomance lors de la lecture et ecriture par rapport à dautre menanisme, il permet de definir des structures de sauvegardes complexes (en utilisant annotations). Un plugin est un essemble de codes definit suivant un concept permettant de ressoudre des besoins precis. Pour crrer un plugin on besoin de creer un gestionnaire de plugin ( cest lui qui definit le schema à suivre ), puis d'indencier ce nouveau plugin.
Le plugin manager est generalment cablé sur DefaultPluginManager.
Les plugins peuvent etre creer dans src/Plugin/$plugin_type/$plugin_name ou dans src/Plugin/$moduleName/$plugin_type/$plugin_name.
Pour enregistrer un plugin on utilise generalment les annotations.
Comment fonctionne la découverte de plugins ?
Comment instancier une instance d'un plugin donné ?
Meilleures pratiques pour faciliter la mise en œuvre des plugins de votre type par d'autres ?
Comment inclure votre nouveau gestionnaire de plugins dans le conteneur de services Drupal ?
Des concepts important afin de mieux comprendre la creation du plugin manager :
Drupal\Core\Plugin\Factory\ContainerFactory
...
return $plugin_class::create(\Drupal::getContainer(), $configuration, $plugin_id, $plugin_definition);
Ressources :
- Unraveling the Drupal 8 Plugin System
- Drupal 8 Custom Plugin Types , (suite), github.
- Custom Plugin Type In Drupal 8*