选定模块名称与创建模块目录

决定模块名称

开发模块的第一步,需要为模块选定两个名称,一个模块名称和一个短名称(或称机器名)。

模块名称可以使用大小写和空格,短名称(机器名)则需要遵循以下命名规范:

  • 必须以字母开头
  • 只能包含小写字母和下划线
  • 必须不与其它模块、主题或安装配置重名
  • 不能使用保留词,如 src, lib, vendor, assets, css, files, images, js, misc, templates, includes, fixtures, drupal.
  • 如果希望今后将模块发布到官网 drupal.org,务必先查看 drupal.org/project/[name] 是否存在,以免已存相同名称模块为之后发布造成麻烦。

以示例为例,模块名称使用 Hello World,机器名可以使用 hello_world。

创建模块目录

从 Drupal 8 开始,非内核模块通常被放置在 /modules 目录下,同时为了区分下载的第三方模块与自己开发的模块,会使用子目录 contrib 和 custom 进行区分,如:

  • /modules/contrib/admin_menu
  • /modules/custom/hello_world

Drupal 8 也支持将模块放置在 /sites/all/modules 目录下,主要是为了兼容 Drupal 6/7 的使用习惯。两个目录的效果是相同的,但放在根目录的 /modules 目录下访问深度会浅一些。

  • /sites/all/modules/contrib/admin_menu
  • /sites/all/modules/custom/hello_word

所以,当开始创建你的第一个自定义模块时,可以创建 /modules/custom/[name] 目录来存放模块的相关文件。

接下来,创建一个 .info.yml 文件,来声明模块的相关信息。