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

相关推荐
laocooon5238578863 分钟前
C++中的安全指针(智能指针)
开发语言·c++
咸鱼加辣3 分钟前
【python面试题】LRUCache
开发语言·python
LitchiCheng4 分钟前
WSL2 中 pynput 无法捕获按键输入?
开发语言·python
中年程序员一枚4 分钟前
Python 中处理视频添加 / 替换音频
开发语言·python·音视频
yuuki2332335 分钟前
【C++】模板初阶
java·开发语言·c++
爱吃大芒果6 分钟前
Flutter 路由进阶:命名路由、动态路由与路由守卫实现
开发语言·javascript·flutter·华为·ecmascript
世转神风-9 分钟前
qt-lambda信号槽机制
开发语言·qt
SmoothSailingT13 分钟前
C#——单例模式
开发语言·单例模式·c#
与遨游于天地14 分钟前
接口与实现分离:从 SPI 到 OSGi、SOFAArk的模块化演进
开发语言·后端·架构
醇氧14 分钟前
Spring Boot 应用启动优化:自定义事件监听与优雅启动管理
java·开发语言·python