我有一个自制的框架,其中包含两种类型的包。应用程序包和依赖项。应用程序包特定于应用程序(可以是新闻模块、管理等)。依赖项是我在多个项目中重复使用的库。
对于每个新项目,我首先添加应用程序包和依赖项。到目前为止,我保留了这些捆绑包的单独副本,并手动将它们复制到我的项目中。我很少需要修改依赖项。但是对于应用程序包,我总是必须自定义视图和控制器,因此它们应该在它们使用的所有项目中进行修改。
我想改进管理这些捆绑包的方式,并考虑使用 Composer。但是,它不太符合应用程序包,因为您不应该修改包。我需要能够安装一次软件包,然后在下一次更新中忽略它们(它们成为应用程序源代码的一部分)。
我可以像 Symfony 所想的那样添加一些覆盖机制(将类复制到另一个目录,这将覆盖默认的包类),但我不喜欢这个想法。它只会增加不必要的复杂性。
可以使用另一个包管理系统,甚至是自定义系统,但这意味着无法访问 Composer 包,这会很棒。
将 Composer 用于依赖项,而将另一个系统用于应用程序包会很麻烦。
你会怎么处理?