我在项目中使用Composer包Omnipay,我想在包中添加一个新类(在我的情况下,它支持一个新的支付网关)。命名与任何内容都不冲突,并且它遵循与兄弟文件夹相同的命名和结构约定。然而,当我运行composer update
时,它会删除我的整个更改文件夹,即使它不需要。有什么方法可以告诉composer不要删除那个目录吗?
不要更改/vendor
下的任何文件。您应该将库视为外部依赖项——不要将它们检入源代码管理或以任何方式更改它们。只需在您自己的代码中引用它们。
如果你需要自定义composer库,你可以在自己的代码中处理它(大多数PHP库支持依赖项注入,这将允许你覆盖库的任何类),或者你可以在github上派生库,然后在composer.json
中引用你自己的派生,或者提交pull请求,这样每个人都可以从中受益
据我所知,您无法添加到Composer包中,因为它是外部的,因此超出了您的控制范围。您应该只将包视为库,并将所有类添加到您自己的项目中,确保您需要的包仍然设置在.json文件