¿Cómo puedo verificar si un módulo está habilitado?


20

En Drupal 7, puede usar module_exists () para verificar si un módulo está habilitado (así como también si existe).

Por ejemplo,

if (module_exists('devel')) {

¿Cómo puede verificar si un módulo está habilitado en Drupal 8?

Respuestas:


33

Al igual que Clive menciona ...

El servicio sería preferible a usar \ Drupal (suponiendo que sea una opción en el contexto actual)

Aquí hay un ejemplo de verificar si un módulo está habilitado pero usando un servicio.

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

2
\Drupal::moduleHandlertermina simplemente haciendo una llamada equivalente para obtener el servicio "module_handler" de todos modos (ver moduleHandler doco ). La palabra clave en el comentario de Clives fue inyectar , es decir, pasar el servicio a un constructor.
George

12

Me gusta esto:

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

2
No vale nada que inyectar el module_handlerservicio sería preferible a usar \Drupal(suponiendo que sea una opción en el contexto actual)
Clive
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.