logo

パレット - カラフルに🎨

Palette — ビジュアルページビルダー、デザインの専門知識は不要です。

ライブデモ パレットをダウンロード

Scroll

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

24/04/2020, by maria

Menu

始める前に

テストサイトでPHPにエラーを検出させたい場合は、ここで説明されている設定を試してください:開発時にすべてのエラーを表示

モジュールに名前を付ける

モジュール作成の最初のステップは、「ショートネーム」またはマシン名を選択することです。このマシン名はモジュールの複数のファイルと関数で使用され、Drupalコアはプログラム上でモジュールを識別するために使用します。

machine_name_2

マシン名を選択する際に従うべき重要なルールがいくつかあります:

  • 文字で始まる必要があります。
  • 小文字とアンダースコアのみを含める必要があります。
  • スペースを含めてはいけません。
  • 一意である必要があります。モジュールは、サイトで使用する他のモジュール、テーマ、またはインストールプロファイルと同じショートネームを持つべきではありません。
  • 予約語があってはなりません: 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にホストされるコードの推奨事項でもあります。

関連情報