Drupal 8モジュールの命名と配置

drupal 8 logo inline CMYK 300

Drupal 8モジュールの命名と配置

原文 Naming and placing your Drupal 8 module

始める前に

テストサイトで エラーを識別しやすいようにPHPを設定する場合は、ここで説明する設定を試してください:開発中にすべてのエラーを表示。

モジュールに名前を付けます

最初にモジュールを作成するために、モジュールの名前(短い名前)と、マシン名を決定します。
マシン名は、モジュール内のいくつかのファイルと関数名に使用され、Drupalのコアプログラムでモジュールを参照するために使用されています。
マシン名を選択する際には従うべきいくつかの重要なルールがあります。

  • 文字で始まる必要があります。
  • 小文字とアンダースコアのみを含める必要があります。
  • モジュールは、サイト上で使用する他のモジュール、テーマやインストールプロファイルと同じ名前で重複しないよう、一意である必要があります
  • Drupalの予約用語(src, lib, vendor, assets, css, files, images, js, misc, templates, includes, fixtures)でないこと。

今回は、マシン名として「hello_world」を選択します。

重要な注意: Drupalはモジュールのマシン名に大文字を使用した場合、フックの実装を認識しません。
参考 Drupalモジュール用フックシステムの概要

モジュール用のフォルダを作成します。

マシン名を「hello_world」とした場合、モジュールを起動するためにDrupalのインストールフォルダ内に、 /modules/custom/hello_world または /sites/all/modules/custom/hello_worldフォルダーを作成します。

マシン名とモジュールのフォルダ名を同じ名前にする必要はないことに注意してください。
例えば、代わりにフォルダ名としてHelloWorldを使用することができますが、モジュールのコードやファイル名ではマシン名を使う必要があります。

以前のバージョンのDrupalでは、カスタムモジュールは /sites/all/modulesに、コアモジュールは /modules ディレクトリに配置するよう要求されていました。しかし、Drupal8では、/moduleが、カスタムモジュールやコントリビュートモジュールのために解放されます。すべてのコアモジュールとライブラリファイルは、現在 /core ディレクトリに配置されています。Drupal8では、Drupal7/6と同じように、カスタムモジュールやDrupal.org(ダウンロード)コントリビュートモジュールを /sites/all/modulesに配置することもできます。 それは/moduleディレクトリへの配置と同じ効果になります。

この例のモジュールを動作させるには、まだ、.info .yml ファイルが必要です。
詳しくは、Drupal8モジュールでの.info.ymlファイル使用を参照ください。
後のチュートリアルでモジュールをアクティブにします。

コーディング標準

独自の、カスタムモジュールを記述するときには、極力Drupalのコーディング標準に従うようにしてください。
これは、Drupalのコアコード変更の提案時、最も効率良くdrupal.orgにコードを開示するための要件となります。