Drupal 7では、module_exists()を使用して、モジュールが有効かどうか(およびそのモジュールが存在するかどうか)を確認できます。
例えば、
if (module_exists('devel')) {
Drupal 8でモジュールが有効になっているかどうかを確認するにはどうすればよいですか?
Drupal 7では、module_exists()を使用して、モジュールが有効かどうか(およびそのモジュールが存在するかどうか)を確認できます。
例えば、
if (module_exists('devel')) {
Drupal 8でモジュールが有効になっているかどうかを確認するにはどうすればよいですか?
回答:
Cliveの言及と同じように....
\ Drupalを使用するよりもサービスが望ましい(現在のコンテキストではオプションであると想定)
モジュールが有効になっているがサービスを使用しているかどうかを確認する例を次に示します。
$moduleHandler = \Drupal::service('module_handler');
if ($moduleHandler->moduleExists('devel')){
// Code Here
}
\Drupal::moduleHandler
とにかく「module_handler」サービスを取得するために同等の呼び出しを行うことになります(moduleHandler docoを参照)。Clivesコメントのキーワードは、注入、つまりサービスをコンストラクターに渡すことでした。