我在项目中使用Composer包Omnipay,我想在包中添加一个新类(在我的情况下,它支持新的支付网关)。命名与任何事物都不冲突,它遵循与兄弟文件夹相同的命名和结构约定。但是,当我运行composer update
时,它会删除我的整个更改文件夹,即使它不需要。有没有办法告诉作曲家不要删除该目录?
答案 0 :(得分:0)
据我所知,您无法添加到Composer包中,因为它是外部的,因此无法控制。您应该将包视为库,并将所有类添加到您自己的项目中,确保您所需的包仍然在.json文件中设置
答案 1 :(得分:0)
单独留下/vendor
下的所有内容,不要在那里更改任何文件。您应该将库视为外部依赖项 - 不要将它们检入源代码控制或以任何方式更改它们。只需在您自己的代码中引用它们。
如果您需要自定义一个编写器库,您可以在自己的代码中解决它(大多数PHP库支持依赖注入,这将允许您覆盖任何库的类),或者您可以分叉库在github上,然后在composer.json
引用你自己的fork,或提交pull请求,这样每个人都可以从中受益。