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