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

相关推荐
小二李7 分钟前
什么是依赖注入(DI)&控制反转IoC
java·开发语言
是宇写的啊17 分钟前
SpringIoc和Di
java·开发语言
沐雪轻挽萤18 分钟前
3. C++17新特性-带初始化的 if 和 switch 语句
开发语言·c++
xianluohuanxiang23 分钟前
2026年深度:高精度气象+新能源,从风速误差到收益偏差,行业赋能正在重构电站盈利模型
大数据·开发语言·人工智能·机器学习
froginwe1130 分钟前
SQL PRIMARY KEY(主键)
开发语言
2401_8858850434 分钟前
视频短信接口集成起来复杂吗?API接入说明
开发语言·php·音视频
Thexhy36 分钟前
Java 后端完整成长路线(含项目)
java·开发语言
zopple40 分钟前
PHP与Vue.js:前后端开发的完美搭档
开发语言·vue.js·php
楚辞大魔王42 分钟前
通过ExternalTools打开编译之后的class
java·开发语言
跟着珅聪学java1 小时前
Java AI 开发完全教程
java·开发语言·人工智能