Як я можу перевірити, чи модуль включений?


20

У Drupal 7 ви можете використовувати module_exists (), щоб перевірити, чи модуль включений (а також чи існує він).

Наприклад,

if (module_exists('devel')) {

Як можна перевірити, чи включений модуль у Drupal 8?

Відповіді:


33

Як і згадка Клайва….

послугу було б краще використовувати \ Drupal (якщо припустимо, що це варіант у поточному контексті)

Ось приклад перевірки, чи модуль включений, але користується послугою.

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

2
\Drupal::moduleHandlerв кінцевому підсумку просто робиться еквівалентний дзвінок, щоб отримати послугу "module_handler" у будь-якому випадку (див. doco moduleHandler ). Ключовим словом у коментарі Clives було введення , тобто передача послуги конструктору.
Джордж

12

Подобається це:

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

2
Нічого не варто, щоб ін’єкцію module_handlerпослуги було б краще використовувати \Drupal(якщо припустити, що це варіант у поточному контексті)
Clive
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.