本文给大家带来了关于composer的相关知识,主要由composer教程栏目给大家介绍一种简便的给 composer 包打补丁的方法,希望给大家带来帮助,下面一起来看一下。
关于给composer包打补丁的简便方法分享
在开发过程中,我们经常会遇到某个 composer 包有 bug的情况,或者需要改动部分功能以满足自己的业务。如果你和包的发布者联系,一般不会很快得到更新,非共性的需求,基本也会被忽略掉。
遇到这种情况,就需要我们自己来解决了,有些包是解决类似需求的,比如 cweagans/composer-patches,但用起来还是很麻烦。
我个人实践中用了一种很简便的方法,原理也很简单,其实就是自己 COPY 出来需要改动文件,然后 composer 执行包的安装或更新后会自动覆盖掉原有的。下面就来分享一下这个方法,大致分为三个步骤,一起来看看吧。
方法如下:
第一步,先进入 vendor/ 某个包的目录下,进行代码修改,这里要注意修改期间,不要执行 composer 的安装或更新命令。
第二步,在工程目录下创建目录 patches,保持包的修改文件路径,COPY 放在 patches 下面,具体参照下图:
第三,复制下面代码到 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/'));\""
以上就是关于给composer包打补丁的简便方法分享,主要可分为三个步骤,第一,进入 vendor/ 某个包的目录下,进行代码修改;第二,在工程目录下创建目录 patches,保持包的修改文件路径;第三,复制下面代码到 composer.json 的 scripts -> post-autoload-dump 下,然后就完成了。翼速应用平台内有更多相关资讯,欢迎查阅!
我来说两句