Làm thế nào tôi có thể kiểm tra nếu một mô-đun được kích hoạt?


20

Trong Drupal 7, bạn có thể sử dụng module_exists () để kiểm tra xem mô-đun có được bật hay không (cũng như liệu nó có tồn tại không).

Ví dụ,

if (module_exists('devel')) {

Làm thế nào bạn có thể kiểm tra xem một mô-đun được kích hoạt trong Drupal 8?

Câu trả lời:


33

Giống như Clive đã đề cập ....

dịch vụ sẽ thích hợp hơn khi sử dụng \ Drupal (giả sử đó là một tùy chọn trong ngữ cảnh hiện tại)

Dưới đây là một ví dụ về việc kiểm tra nếu một mô-đun được kích hoạt nhưng sử dụng một dịch vụ.

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

2
\Drupal::moduleHandlercuối cùng chỉ thực hiện một cuộc gọi tương đương để nhận dịch vụ "module_handler" (xem tài liệu moduleHandler ). Từ khóa trong bình luận Clives là tiêm chích , tức là chuyển dịch vụ cho nhà xây dựng.
George

12

Như thế này:

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

2
Không có gì đáng để tiêm module_handlerdịch vụ sẽ tốt hơn khi sử dụng \Drupal(giả sử đó là một tùy chọn trong bối cảnh hiện tại)
Clive
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.