In Drupal 7 können Sie mit module_exists () prüfen, ob ein Modul aktiviert ist (und ob es existiert).
Beispielsweise,
if (module_exists('devel')) {
Wie können Sie überprüfen, ob ein Modul in Drupal 8 aktiviert ist?
In Drupal 7 können Sie mit module_exists () prüfen, ob ein Modul aktiviert ist (und ob es existiert).
Beispielsweise,
if (module_exists('devel')) {
Wie können Sie überprüfen, ob ein Modul in Drupal 8 aktiviert ist?
Antworten:
Genau wie Clive erwähnen ....
Service wäre der Verwendung von \ Drupal vorzuziehen (vorausgesetzt, es ist eine Option im aktuellen Kontext)
Hier ist ein Beispiel für die Überprüfung, ob ein Modul aktiviert ist, aber einen Dienst verwendet.
$moduleHandler = \Drupal::service('module_handler');
if ($moduleHandler->moduleExists('devel')){
// Code Here
}
So was:
if (\Drupal::moduleHandler()->moduleExists('devel')) {
module_handler
Dienstes der Verwendung vorzuziehen wäre \Drupal
(vorausgesetzt, es ist eine Option im aktuellen Kontext)
\Drupal::moduleHandler
Am Ende wird nur ein gleichwertiger Aufruf ausgeführt, um den Dienst "module_handler" abzurufen (siehe die Dokumentation zu moduleHandler ). Das Schlüsselwort in Clives Kommentar war Injection , dh die Übergabe des Dienstes an einen Konstruktor.