我在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文件?
软件包的依赖性是什么?
谢谢。
答案 0 :(得分:1)
我会将SatelliteInterface放入一个单独的Package D中。
包B和包C需要包D。
如果我理解正确,套餐A不需要任何东西,但您可以在套餐A的composer.json中使用“suggest”来建议套餐B和C.
答案 1 :(得分:0)
套餐A需要套餐B和套餐C.
包B和包C需要包含SatelliteInterface的包。