2
我已更改位於供應商文件夾中的authenticatesUser特徵。Git Laravel - 如果我更改供應商目錄中的文件,該怎麼辦?
他們的變化沒有跟蹤,所以當拉動項目時,登錄功能將不起作用。
我應該跟蹤整個供應商嗎?
或者在供應商之外創建一個新文件來處理authenticatesUser特質?
我已更改位於供應商文件夾中的authenticatesUser特徵。Git Laravel - 如果我更改供應商目錄中的文件,該怎麼辦?
他們的變化沒有跟蹤,所以當拉動項目時,登錄功能將不起作用。
我應該跟蹤整個供應商嗎?
或者在供應商之外創建一個新文件來處理authenticatesUser特質?
千萬不要跟蹤/vendor
。
永遠不要編輯/vendor
文件。
你在問錯誤的問題。你的問題應該是:「我想改變這個Illuminate代碼的默認功能,如何在不覆蓋/vendor
文件的情況下做到這一點?」您還需要提供您需要更改的代碼。
99%的時間您可以獲得您想要覆蓋默認值的功能。舉例來說,如果我繼承特質定義函數「DoSomething的」,但我需要它的工作方式不同,在最好的,你可以這樣做:
public function doSomething()
{
$this->doSomethingElse();
return parent::doSomething();
}
即接入功能在我的功能,然後調用供應商的邏輯。或者,我可以省略parent::doSomething()
並完全覆蓋它。如果你真的需要,你可以複製源代碼並改變它的味道,而不會觸及/vendor
。
現貨,感謝您的輸入。似乎合乎邏輯 –
我也是這樣做。我編輯了vendor文件夾中的authenticateUser,但它並沒有在git中進行跟蹤。然後我做了一些研究,發現我們不應該編輯供應商文件,但是您可以覆蓋類中的方法。這是一個更安全的選擇。我不得不重寫幾個方法,它工作正常。 – Prabesh