모듈이 활성화되어 있는지 어떻게 확인할 수 있습니까?


20

Drupal 7에서는 module_exists () 를 사용 하여 모듈의 활성화 여부 및 존재 여부를 확인할 수 있습니다.

예를 들어

if (module_exists('devel')) {

Drupal 8에서 모듈이 활성화되어 있는지 어떻게 확인할 수 있습니까?

답변:


33

Clive의 언급처럼 ...

\ 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.