如何检查是否启用了模块?


20

在Drupal 7中,您可以使用module_exists()来检查是否启用了模块(以及模块是否存在)。

例如,

if (module_exists('devel')) {

如何检查Drupal 8中是否启用了模块?

Answers:


33

就像克莱夫提到的...。

服务最好使用\ Drupal(假设在当前上下文中是一个选项)

这是检查模块是否启用但使用服务的示例。

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

2
\Drupal::moduleHandler最终只是进行等效调用以获取“ module_handler”服务(请参见moduleHandler doco)。Clives注释中的关键词是注入,即将服务传递给构造函数。
乔治,

12

像这样:

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

2
毫无疑问,注入module_handler服务比使用服务更可取\Drupal(假设在当前情况下是一种选择)
Clive
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.