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

相关推荐
meng_ser几秒前
[NewStarCTF 2023 公开赛道]eazy_crt
开发语言·python
小短腿的代码世界3 分钟前
QCefView深度解析:在Qt中嵌入Chromium的架构设计与性能优化实战
开发语言·qt·性能优化
小短腿的代码世界4 分钟前
Qt反射机制深度解析:从QMetaObject到运行时类型推导的底层密码
开发语言·qt
水木流年追梦4 分钟前
【python因果库实战26】逆概率加权模型1
开发语言·python·算法·leetcode
BatyTao11 分钟前
QT下载并安装
开发语言·qt
赵钰老师12 分钟前
MATLAB在生态环境数据处理与分析中的应用
开发语言·matlab
杰建云16713 分钟前
小程序从零搭建全流程实战指南
开发语言·小程序·php
李少兄18 分钟前
解决 java.net.ConnectException: Connection refused 报错
java·开发语言·.net
gumichef23 分钟前
栈和队列(1)
开发语言·数据结构
2601_9534656127 分钟前
纯前端高性能!m3u8live.cn 重新定义 M3U8 在线播放与调试体验
开发语言·前端·javascript·m3u8