PHP中替换某个包或某个类

在使用composer组件时,有时候需要对包进行一些自定义修改,有一些教程中写需要修改composer.json,然后发布到Packagist,但如果只是适应自己需求所作的小修改,其实并没有必要发布到Packagist,而这样做也是Packagist不推荐的:

Do not submit forks of existing packages. If you need to test changes to a package that you forked to patch, use VCS Repositories instead. If however it is a real long-term fork you intend on maintaining feel free to submit it.

如果只是适应自己的小修改,fork项目回来后,直接对需要修改的位置进行修改并提交,然后在composer.json加上repositories,并指定fork回来的仓库的地址。

复制代码
"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/xxx/database"
    },
]

安装后看到composer输出(这里用hyperf/database做例子)

复制代码
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 1 update, 0 removals
  - Removing hyperf/database (v2.2.41)
  - Installing hyperf/database (v2.2.41): Cloning xxxxxxxxx

Reference

如何利用 composer 替换第三方包里的某个类(color-thief-php为例) - 灰信网(软件开发博客聚合)

在Composer中使用自己修改的包 - DevsDawn

相关推荐
XiYang-DING几秒前
【Java SE】双亲委派模型
java·开发语言
阿阿阿阿里郎3 分钟前
ROS2快速入门--C++基础
开发语言·c++·算法
free-elcmacom5 分钟前
C++<x>new和delete
开发语言·c++·算法
程序喵大人10 分钟前
map的[]运算符,这个看似方便的语法,藏着怎样的魔鬼?
开发语言·c++·map·运算符
全栈开发圈19 分钟前
新书速览|R语言医学数据分析与可视化
开发语言·数据分析·r语言
勿在浮沙筑高台19 分钟前
流片和项目有什么区别
php
傻啦嘿哟23 分钟前
爬虫跑了一小时还没完?换成列表推导式,我提前下班了
java·开发语言·jvm
青槿吖26 分钟前
第一篇:Spring面试高频三连问:容器区别|Bean作用域|生命周期,一篇拿捏!
java·开发语言·网络·网络协议·spring·面试·rpc
Larry_Yanan34 分钟前
QML学习笔记(六十四)动画相关:State状态、Transition过渡和Gradient渐变
开发语言·c++·笔记·qt·学习
Ronin30535 分钟前
【Qt常用控件】显示类控件
开发语言·qt·常用控件·显示类控件