Bir modülün etkin olup olmadığını nasıl kontrol edebilirim?


20

Drupal 7'de bir modülün etkin olup olmadığını ( ve var olup olmadığını ) kontrol etmek için module_exists () öğesini kullanabilirsiniz .

Örneğin,

if (module_exists('devel')) {

Drupal 8'de bir modülün etkin olup olmadığını nasıl kontrol edebilirsiniz?

Yanıtlar:


33

Tıpkı Clive'nin bahsettiği gibi ....

hizmet \ Drupal (geçerli bağlamda bir seçenek olduğu varsayılarak) tercih edilir

Bir modülün etkin olup olmadığını kontrol etmek için bir servis örneği.

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

2
\Drupal::moduleHandleryine de "module_handler" hizmetini almak için eşdeğer bir çağrı yapar ( moduleHandler doco'ya bakın ). Clives yorumundaki anahtar kelime enjekte etmekti , yani hizmeti bir kurucuya aktarmaktı.
George

12

Bunun gibi:

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

2
module_handlerHizmetin enjekte edilmesinin \Drupal(mevcut bağlamda bir seçenek olduğu varsayılarak) kullanılmasının tercih edilebileceği hiçbir şeye değmez
Clive
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.