我是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更新不会影响您的应用程序代码。