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?
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:
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
}
Como isso:
if (\Drupal::moduleHandler()->moduleExists('devel')) {
module_handler
serviço seja preferível ao uso \Drupal
(supondo que seja uma opção no contexto atual)
\Drupal::moduleHandler
acaba 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.