Bagaimana saya bisa mengecek jika modul diaktifkan?


20

Di Drupal 7, Anda dapat menggunakan module_exists () untuk memeriksa apakah modul diaktifkan (serta apakah ada).

Sebagai contoh,

if (module_exists('devel')) {

Bagaimana Anda dapat memeriksa apakah modul diaktifkan di Drupal 8?

Jawaban:


33

Sama seperti Clive menyebutkan ....

layanan akan lebih baik daripada menggunakan \ Drupal (dengan asumsi itu adalah opsi dalam konteks saat ini)

Berikut adalah contoh memeriksa apakah modul diaktifkan tetapi menggunakan layanan.

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

2
\Drupal::moduleHandlerakhirnya hanya membuat panggilan yang setara untuk mendapatkan layanan "module_handler" (lihat dokumen moduleHandler ). Kata kunci dalam komentar Clives adalah menyuntikkan , yaitu meneruskan layanan ke konstruktor.
— George

12

Seperti ini:

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

2
Tidak ada gunanya menginjeksi module_handlerlayanan akan lebih baik daripada menggunakan \Drupal(dengan asumsi itu pilihan dalam konteks saat ini)
— Clive
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.