PHP类Composer包中的接口

时间:2014-02-03 15:27:51

标签: php class interface packages composer-php

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

在包A中我有ClassA。 (文件ClassA.php)

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

在SateliteInterface.php中定义的SatelliteInterface

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

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

ClassB和ClassC可以在没有ClassA的情况下使用。

我需要在什么包中放置SateliteInterface.php文件?

软件包的依赖性是什么?

谢谢。

2 个答案:

答案 0 :(得分:1)

我会将SatelliteInterface放入一个单独的Package D中。

包B和包C需要包D。

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

答案 1 :(得分:0)

套餐A需要套餐B和套餐C.

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