Come posso verificare se un modulo è abilitato?


20

In Drupal 7, puoi usare module_exists () per verificare se un modulo è abilitato (e se esiste).

Per esempio,

if (module_exists('devel')) {

Come puoi verificare se un modulo è abilitato in Drupal 8?

Risposte:


33

Proprio come menziona Clive ....

il servizio sarebbe preferibile all'uso di \ Drupal (supponendo che sia un'opzione nel contesto corrente)

Ecco un esempio di controllo se un modulo è abilitato ma utilizzando un servizio.

$moduleHandler = \Drupal::service('module_handler');
  if ($moduleHandler->moduleExists('devel')){
     // Code Here
  }

2
\Drupal::moduleHandlerfinisce solo per effettuare una chiamata equivalente per ottenere comunque il servizio "module_handler" (consultare il documento moduleHandler ). La parola chiave nel commento di Clives era l' iniezione , ovvero passare il servizio a un costruttore.
George,

12

Come questo:

  if (\Drupal::moduleHandler()->moduleExists('devel')) {

2
Non vale niente che l'iniezione del module_handlerservizio sarebbe preferibile all'uso \Drupal(supponendo che sia un'opzione nel contesto attuale)
Clive
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.