我是Laravel 4的新手。我對軟件包有疑問。我正在使用一個哨兵軟件包,並已根據我的要求對其進行了一些更改,並且運行良好。但是有一個疑問,放哨時會釋放出一些新的特點,我想將它們添加在我的應用程序沒有影響到我以前的手動的更改它Laravel 4軟件包更新不會影響我的手動更改
請指導我在此,我怎麼能做到這一點?
我是Laravel 4的新手。我對軟件包有疑問。我正在使用一個哨兵軟件包,並已根據我的要求對其進行了一些更改,並且運行良好。但是有一個疑問,放哨時會釋放出一些新的特點,我想將它們添加在我的應用程序沒有影響到我以前的手動的更改它Laravel 4軟件包更新不會影響我的手動更改
請指導我在此,我怎麼能做到這一點?
讓我開始說,在大多數情況下,更改爲包的代碼是一個非常糟糕的主意。 Laravel提供了一個easy way以自然覆蓋某些包的某些部分(尤其是視圖和資產等)
現在,如果這不適合您,有兩種方法可以更改軟件包代碼並保持更新。
叉包。如果你分叉git倉庫,你基本上有你自己的版本的包。這意味着你必須自己處理更新,也意味着你可以控制你的代碼。
使用--prefer-source。要求包裝composer require vendor/package --prefer-source
。所以它會克隆git倉庫而不是下載一個副本。這樣,當您更改代碼並執行composer update
時,它會詢問您是否要保留本地更改。但是:每次你該更新包你必須確保你到底讓你的變化,也有新版本的所有變化......
我強烈建議你先想一想如果您可以解決您的問題,而無需更改包裝代碼。也許一個選項會寫你自己的擴展包類的類。
如果您需要更多的意見,請提出新問題或者更新這個已有的問題。
切勿觸摸供應商目錄。 app目錄就是你的操場。
如果您在應用程序目錄中進行了更改,那麼您就很好。 Composer更新不會影響您的應用程序代碼。