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

相关推荐
前进的李工33 分钟前
智能Agent实战指南:从入门到精通(工具)
开发语言·人工智能·架构·langchain·agent·tool·agentexecutor
小成2023032026544 分钟前
Linux高级03
linux·开发语言
lly2024061 小时前
Ruby CGI方法详解
开发语言
XiYang-DING1 小时前
【Java】从源码深入理解HashMap和TreeMap
java·开发语言
煜bart1 小时前
使用 TypeScript 实现算法处理
开发语言·前端·javascript
♛识尔如昼♛1 小时前
C 基础(7) - 字符输入/输出和输入验证
c语言·开发语言
小肝一下1 小时前
c++从入门到跑路——string类
开发语言·c++·职场和发展·string类
无巧不成书02181 小时前
Unicode编码机制全解析:从核心原理到Java 实战
java·开发语言·java字符编码·unicode 15.1码点
楼田莉子1 小时前
设计模式:构造器模式
开发语言·c++·后端·学习·设计模式
lly2024061 小时前
Swift 析构过程
开发语言