【问题标题】:PHP class Interfaces in Composer packagesComposer 包中的 PHP 类接口
【发布时间】:2014-02-27 03:59:08
【问题描述】:

我在我的 PHP 项目中使用 Composer 进行依赖管理。

在 packageA 中,我有 ClassA。 (文件 ClassA.php)

ClassA 可以使用卫星类,实现 SatelliteInterface。

SateliteInterface.php 中定义的SatelliteInterface

ClassB 实现 SatelliteInterface 并在 PackageB 的 ClassB.php 文件中提供。

ClassC 实现 SatelliteInterface 并在 PackageC 中的 ClassC.php 文件中提供。

ClassB 和 ClassC 可以不使用 ClassA。

我需要把SateliteInterface.php文件放在什么包里?

包的依赖关系是什么?

谢谢。

【问题讨论】:

    标签: php class interface packages composer-php


    【解决方案1】:

    我会将 SatelliteInterface 放入单独的包 D 中。

    包 B 和包 C 需要包 D。

    如果我理解正确,包 A 不需要任何东西,但您可以在包 A 的 composer.json 中使用“建议”来建议包 B 和 C。

    【讨论】:

      【解决方案2】:

      包 A 需要包 B 和包 C。

      包 B 和包 C 需要包含 SatelliteInterface 的包。

      【讨论】:

      • PackageA 对 PackageB 或 PackageC 没有硬性要求。
      • PackageA 可以不使用 for ex。包C。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-10
      • 2021-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-22
      • 1970-01-01
      相关资源
      最近更新 更多