我在我的項目中使用Composer包Omnipay,我想向包中添加一個新類(在我的情況下,它支持新的支付網關)。命名與任何內容都不衝突,它遵循與兄弟文件夾相同的命名和結構約定。但是,當我運行composer update
時,它會刪除我的整個修改文件夾,即使它不需要。有沒有辦法告訴作曲家不要刪除該目錄?如何安全地添加到作曲家包?
回答
把所有東西都放在/vendor
之內,不要在那裏改變任何文件。您應該將庫視爲外部依賴項 - 不要將它們檢入源代碼管理或以任何方式更改它們。只需在您自己的代碼中引用它們。
如果您需要定製一個作曲家庫,您可以在自己的代碼中解決它(大多數PHP庫支持依賴注入,這可以讓您覆蓋任何庫的類),或者您可以將github上的庫,然後在composer.json
中引用你自己的分支,或者提交拉取請求,這樣每個人都可以從中受益。
我可能會最終分叉它。似乎有點愚蠢,這種類型的擴展是不可能的。 – nathanjosiah
這不是愚蠢 - 你不應該修改外部庫,否則你將來無法更新它們。只需在自己的代碼中擴展單個類,這就是面向對象的方式。 –
事情是,它們不是外部的,我所做的擴展類型即使對未來也是安全的 – nathanjosiah
據我所知,你不能添加到Composer軟件包,因爲它是外部的,因此不受你的控制。你應該把這些軟件包當作庫來處理,然後把所有的類加入到你自己的項目中,確保你所需要的軟件包仍然在你的.json文件中。
我不認爲這個答案:) –
- 1. 作曲家安裝:全球vs本地
- 2. 如何讓作曲家安裝非作曲家包?
- 3. 作曲家/ PHP:如何檢查作曲家包是否安裝?
- 4. 添加多個作曲家包
- 5. 如何安裝不作曲家作曲PHP包?
- 6. 不使用作曲家(PHP)加載作曲家包
- 7. 作曲家安裝
- 8. 作曲家安裝或更新包
- 9. Symfony2問題與作曲家安裝包
- 10. 作曲家要求未能安裝包
- 11. 作曲家包更新,但不安裝
- 12. 作曲家:包安裝需要svn/git?
- 13. 麻煩與作曲家安裝包
- 14. 無法安裝作曲家包
- 15. 從作曲家包
- 16. 安裝本地svn依賴作曲家
- 17. 作曲家,Laravel和本地包
- 18. 如何使用作曲家添加FirePHP到Zend Framework 2
- 19. 如何使用作曲家安裝SonataIntlBundle?
- 20. 如何安裝便攜式作曲家
- 21. 如何通過作曲家安裝mongolid?
- 22. 如何更新一個作曲家包?
- 23. 作曲家不自動加載包
- 24. Laravel:如何使用我的作曲家安裝的捆綁包?
- 25. WordPress - 添加分頁 - 視覺作曲家
- 26. 在Codeigniter中添加作曲家
- 27. 作曲家安裝laravel laravel
- 28. 通過作曲家安裝
- 29. 作曲家安裝指令
- 30. laravel安裝與作曲家
你確定你的包json是正確的嗎?指定工作的Github網址等? –
我通過'「require」包含它:{「omnipay/omnipay」:「0.9。*」}' – nathanjosiah
composer.phar更新輸出說什麼? –