Como posso verificar se um módulo está ativado?


20

No Drupal 7, você pode usar module_exists () para verificar se um módulo está ativado (e também se existe).

Por exemplo,

if (module_exists('devel')) {

Como você pode verificar se um módulo está ativado no Drupal 8?

Respostas:


33

Assim como Clive menciona ....

seria preferível usar o serviço \ Drupal (supondo que seja uma opção no contexto atual)

Aqui está um exemplo de verificação se um módulo está ativado, mas usando um serviço.

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

2
\Drupal::moduleHandleracaba fazendo uma chamada equivalente para obter o serviço "module_handler" de qualquer maneira (consulte a documentação do moduleHandler ). A palavra-chave no comentário do Clives era injetável , ou seja, passando o serviço para um construtor.
George

12

Como isso:

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

2
Não vale nada que injetar o module_handlerserviço seja preferível ao uso \Drupal(supondo que seja uma opção no contexto atual)
Clive
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.