ฉันจะตรวจสอบว่าเปิดใช้งานโมดูลได้อย่างไร


20

ใน Drupal 7 คุณสามารถใช้module_exists ()เพื่อตรวจสอบว่ามีการเปิดใช้งานโมดูล (เช่นเดียวกับที่มีอยู่)

ตัวอย่างเช่น,

if (module_exists('devel')) {

คุณจะตรวจสอบว่าโมดูลเปิดใช้งานใน Drupal 8 ได้อย่างไร

คำตอบ:


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(สมมติว่ามันเป็นตัวเลือกในบริบทปัจจุบัน)
ไคลฟ์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.