• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

composer更新项目php用VCS源

武飞扬头像
PHP中文网
帮助31

我们在PHP开发当中难免会遇到这种情况,在用composer做包管理工具的时候,项目依赖的某个开源组件的部分代码需要根据整个项目的需求进行修改,这种时候可以通过修改vendor包里面的组件源码来实现,然而修改vendor包容易导致一个问题,那就是版本不容易进行管理,如果进行composer update操作很容易就把修改过的代码给覆盖了。将composer的repository管理设置为vcs源可以很好地解决这个问题。

VCS全称Version Control System,意为版本管理系统,根据composer官方文档,现在composer支持Git、Subversion、Mercurial和Fossil等版本管理系统,其中如果使用Github的git源,Bitbucket的git和merurial源,composer是可以直接通过API获取到zip包的,如果是其他源,则需要本地有对应的客户端支持。

假设有这么个场景,在开发的过程中使用了authorA的projectA包,然后我需要对包里面某个部分的代码进行一些跟本地项目环境更加适配的更改,就可以先将projectA的项目代码fork到自己的github目录下,这样就可以对项目源码进行修改了(请遵循相应的开源协议),然后在工程目录的composer.json当中只需要加入这几行代码:

{    "repositories": [
        {            "type": "vcs",
            "url": "https://github.com/myAcount/projectA"
        }
    ],
    "require": {        "authorA/projectA": "~x.x"
    }
}

将本地修改后的代码push到自己的仓库中,注意要打tag,然后在项目目录下执行composer update authorA/projectA 就可以使用用自己仓库做源的projectA包了。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanfhfaf
系列文章
更多 icon
同类精品
更多 icon
继续加载