W Drupal 7 możesz użyć module_exists (), aby sprawdzić, czy moduł jest włączony (a także czy istnieje).
Na przykład,
if (module_exists('devel')) {
Jak sprawdzić, czy moduł jest włączony w Drupal 8?
W Drupal 7 możesz użyć module_exists (), aby sprawdzić, czy moduł jest włączony (a także czy istnieje).
Na przykład,
if (module_exists('devel')) {
Jak sprawdzić, czy moduł jest włączony w Drupal 8?
Odpowiedzi:
Tak jak wspomniał Clive ....
usługa byłaby lepsza niż używanie \ Drupal (zakładając, że jest to opcja w obecnym kontekście)
Oto przykład sprawdzania, czy moduł jest włączony, ale korzysta z usługi.
$moduleHandler = \Drupal::service('module_handler');
if ($moduleHandler->moduleExists('devel')){
// Code Here
}
Lubię to:
if (\Drupal::moduleHandler()->moduleExists('devel')) {
module_handlerrobić, że wstrzykiwanie usługi byłoby lepsze niż korzystanie \Drupal(zakładając, że jest to opcja w obecnym kontekście)
\Drupal::moduleHandlerkończy się po prostu wywołaniem równoważnego wywołania usługi „module_handler” (zobacz doco moduleHandler ). Kluczowym słowem w komentarzu Clivesa było wstrzykiwanie , tj. Przekazanie usługi konstruktorowi.