Drupal 8モジュールの命名と配置のルール
始める前に
テストサイトでPHPにエラーを検出させたい場合は、ここで説明されている設定を試してください:開発時にすべてのエラーを表示。
モジュールに名前を付ける
モジュール作成の最初のステップは、「ショートネーム」またはマシン名を選択することです。このマシン名はモジュールの複数のファイルと関数で使用され、Drupalコアはプログラム上でモジュールを識別するために使用します。

マシン名を選択する際に従うべき重要なルールがいくつかあります:
- 文字で始まる必要があります。
- 小文字とアンダースコアのみを含める必要があります。
- スペースを含めてはいけません。
- 一意である必要があります。モジュールは、サイトで使用する他のモジュール、テーマ、またはインストールプロファイルと同じショートネームを持つべきではありません。
- 予約語があってはなりません:
src、lib、vendor、assets、css、files、images、js、misc、templates、includes、fixtures、Drupal
この場合、マシン名として「hello_world」を選択します。
重要な注意事項:Drupalはフックの実装を認識しないため、モジュールのマシン名に大文字を使用しないでください。Drupalモジュールのフックシステムを理解する。を参照してください。
モジュールのフォルダーを作成する
マシン名「hello_world」を選択したので、Drupalインストールの/modules/custom/hello_worldまたは/sites/all/modules/hello_worldパスにフォルダーを作成して、モジュールを開始します。/custom/サブフォルダーを省略して、モジュールを/modules/hello_worldフォルダーに配置することもできますが、独自のモジュール用に専用の場所を用意すると、Drupal.orgからダウンロードした他のモジュールの中から探す必要がなくなるため、多くの場合良い方法です。
モジュールのフォルダー名をマシン名と同じにする必要はないことに注意してください。代わりに、HelloWorldというフォルダー名を使用できます。ただし、モジュールのコードとファイル名では、プログラム上でマシン名を使用することを忘れないでください。
以前のDrupalバージョンでは、コアモジュールが/modulesにあるため、カスタムモジュールを/sites/all/modulesに配置する必要がありました。ただし、Drupal 8では/modulesはカスタムモジュールと追加モジュール用に解放されました。すべてのコアモジュールとライブラリファイルは現在/coreディレクトリにあります。Drupal 8では、カスタムモジュールとDrupal.orgで追加(ダウンロード)されたモジュールを/sites/all/modulesに配置するというDrupal 7/6のベストプラクティスを引き続き使用できますが、同じ効果がある/modulesディレクトリに配置するだけでもかまいません。
サンプルモジュールはまだ動作していません。まず.info.ymlファイルが必要です。.info.ymlファイルでDrupal 8にモジュールを知らせる方法の詳細をご覧ください。モジュールはガイドの後半で有効にします。
コーディング標準
独自のカスタムモジュールを書くときは、Drupalのコーディング標準に従うことを強くお勧めします。これは、Drupalコアコードの変更提案の要件であり、drupal.orgにホストされるコードの推奨事項でもあります。