In Drupal 7, you can use module_exists() to check whether a module is enabled (as well as whether it exists).

For example,

if (module_exists('devel')) {

How can you check whether a module is enabled in Drupal 8?


Just like Clive mention....

service would be preferable to using \Drupal (assuming it's an option in current context)

Here is an example of checking if a module is enable but using a service.

$moduleHandler = \Drupal::service('module_handler');
  if ($moduleHandler->moduleExists('devel')){
     // Code Here
| improve this answer | |
  • 2
    \Drupal::moduleHandler ends up just making an equivalent call to get the "module_handler" service anyway (see the moduleHandler doco). The key word in Clives comment was injecting, i.e. passing the service to a constructor. – George Apr 12 '18 at 1:10

Like this:

  if (\Drupal::moduleHandler()->moduleExists('devel')) {
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.