【问题标题】:build drupal 8 custom classes for shared functionality between modules (shared library of php classes for drupal)为模块之间的共享功能构建 drupal 8 自定义类(drupal 的 php 类共享库)
【发布时间】:2017-11-13 03:43:31
【问题描述】:

背景:
我在 Drupal 7 中构建了多个自定义模块,它们使用来自基础集合的共享类。最初,我将基本集合设计为具有空表单(从不显示)的单个模块,并且每个表单模块都引用了该共享基本模块中所需的类和相关成员方法。我正在考虑将模块升级到 Drupal 8,并且想知道是否有更合乎逻辑的方式来实现所需的“共享”模块,而不是使用不包含表单的表单模块。

问题:
是否可以在 drupal 8 中创建自定义模块可以引用的共享库(类)?

为了说明问题:
有一个“类别管理器”模块允许用户管理文档集合的类别。该类别管理器实现了一个类,该类提供用于添加/更新/删除/获取类别数据的成员方法。还有一个“文档管理器”模块,它允许以相同的方式管理文档。因为文档与类别相关联,所以文档管理器模块引用相同的“类别”类。显然,这个“类别”类是在基本模块(两个管理器模块都引用)中定义的。还有其他几个共享类的示例。

【问题讨论】:

    标签: php drupal drupal-8


    【解决方案1】:

    我认为您可以在这里使用两种方法。

    我建议将您的共享库打包为 Composer 依赖项并将其包含到您的 Drupal 中,下面是一个包含更多信息的链接

    https://www.drupal.org/node/2514612

    第二种方法是创建并启用一个具有所有共享功能的模块

    Drupal 8 PSR-4,只要你关注它,你的活动模块的类将可供其他人使用,这里有更多信息

    https://www.drupal.org/docs/develop/coding-standards/psr-4-namespaces-and-autoloading-in-drupal-8

    【讨论】:

    • composer.json 看起来不错。感谢您的信息!
    猜你喜欢
    • 1970-01-01
    • 2016-10-05
    • 2021-05-05
    • 1970-01-01
    • 2019-01-18
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多