首页 >开发工具 >composer >分享一种给composer包打补丁的简便方法!

分享一种给composer包打补丁的简便方法!

藏色散人
藏色散人转载
2022-08-09 14:21:152364浏览

本文由composer教程栏目给大家介绍一种简便的给 composer 包打补丁的方法,希望对需要的朋友有所帮助!

开发过程中,我们经常会遇到某个 composer 包有 bug,或者需要改动部分功能以满足自己的业务。如果你和包的发布者联系,一般不会很快得到更新,非共性的需求,基本也会被忽略掉。

这种情况下,需要我们自己解决了,有些包是解决类似需求的,比如 cweagans/composer-patches,但用起来还是很麻烦。

我个人实践中用了一种很简便的方法,原理也很简单,其实就是自己 COPY 出来需要改动文件,然后 composer 执行包的安装或更新后会自动覆盖掉原有的。

方法如下:

1、先进入 vendor/ 某个包的目录下,进行代码修改,注意修改期间,不要执行 composer 的安装或更新命令。

2、工程目录下创建目录 patches,保持包的修改文件路径,COPY 放在 patches 下面,参照下图:

4915e5519fabdde0dc0b5f73697d31c.jpg

3、复制下面代码到 composer.json 的 scripts -> post-autoload-dump 下:

"@php -r \"passthru(sprintf(PHP_OS==='WINNT'?'xcopy %s /D /E /C /R /H /I /K /Y':'cp -rfv %s', 'patches/* vendor/'));\""

7b82b60a809a45d241b9029afc496de.jpg

这样就可以了。

本文系转载,原文地址:https://learnku.com/articles/70440

以上是分享一种给composer包打补丁的简便方法!的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:learnku.com。如有侵权,请联系admin@php.cn删除