В Drupal 7 вы можете использовать module_exists (), чтобы проверить, включен ли модуль (а также существует ли он).
Например,
if (module_exists('devel')) {
Как вы можете проверить, включен ли модуль в Drupal 8?
В Drupal 7 вы можете использовать module_exists (), чтобы проверить, включен ли модуль (а также существует ли он).
Например,
if (module_exists('devel')) {
Как вы можете проверить, включен ли модуль в Drupal 8?
Ответы:
Так же, как упомянуть Клайва ....
Служба предпочтительнее использования \ Drupal (при условии, что это опция в текущем контексте)
Вот пример проверки, если модуль включен, но использует сервис.
$moduleHandler = \Drupal::service('module_handler');
if ($moduleHandler->moduleExists('devel')){
// Code Here
}
Как это:
if (\Drupal::moduleHandler()->moduleExists('devel')) {
module_handler
службы предпочтительнее использования \Drupal
(при условии, что это опция в текущем контексте)
\Drupal::moduleHandler
в конце концов просто делает эквивалентный вызов, чтобы получить службу "module_handler" (см. документ moduleHandler ). Ключевым словом в комментарии Clives было внедрение , то есть передача сервиса конструктору.