不更改composer源文件的情况下重写compsoer类

发布时间 2023-06-29 11:53:07作者: 缘来是你~~~

在工作中有时候会遇到原来用的composer包已经不能完全满足需求了,需要重新加入一些功能,这个时候我们可以通过重写composer包类来实现。

1.排除的compsoer类,以下为例:

    "exclude-from-classmap": [
        "vendor/vectorface/googleauthenticator/src/GoogleAuthenticator.php"
    ],

需要放到 autoload 段中,注意这是个json文件用\需要转义

2.加载自定义的类文件

    "autoload": {
        "psr-4": {
            "app\\": "app",
            "Vectorface\\": "app/vender/"
        },
        "exclude-from-classmap": [
            "vendor/vectorface/googleauthenticator/src/GoogleAuthenticator.php"
        ]
    },
  1. 将原类文件复制出来放到app/vender 文件中(这里放到什么文件自己决定就好了)
  2. 在app/vender重写GoogleAuthenticator.php类
  3. 运行命令:
  composer dump-autoload