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

相关推荐
无风听海9 分钟前
深入讲解 C# 中 string 如何支持 CultureInfo
开发语言·c#
yaoxin52112310 分钟前
291. Java Stream API - 从正则表达式创建 Stream
java·开发语言
BHXDML15 分钟前
Java 设计模式详解
java·开发语言·设计模式
CCPC不拿奖不改名18 分钟前
数据处理与分析:pandas基础+面试习题
开发语言·数据结构·python·面试·职场和发展·pandas
余瑜鱼鱼鱼21 分钟前
Java数据结构:从入门到精通(十三)
java·开发语言
wzfj1234523 分钟前
FreeRTOS xTaskCreateStatic 详解
开发语言·c#
运维行者_31 分钟前
远程办公场景 NFA:从网络嗅探与局域网流量监控软件排查团队网络卡顿问题
运维·服务器·开发语言·网络·自动化·php
txinyu的博客33 分钟前
C++ 智能指针 (shared_ptr/weak_ptr) 全解析
开发语言·c++
没有bug.的程序员37 分钟前
Java内存模型(JMM)深度解析:从 volatile 到 happens-before 的底层机制
java·开发语言·并发编程·volatile·内存模型·jmm·happens-before
寻星探路1 小时前
【算法进阶】滑动窗口与前缀和:从“和为 K”到“最小覆盖子串”的极限挑战
java·开发语言·c++·人工智能·python·算法·ai