首页 > 解决方案 > 如何在 Composer 中链接加载程序

问题描述

我们有一个工作流,我们需要为通用自动加载类生成类代理,所以我们想利用 Composer 自动加载过程。我们想做的是:

class ourAutoloader {
    function loadClass($class){
        $file=$this->composerAutoloader->findFile($class);
        $proxiedFile=$this->proxy($file);
        includeFile($proxiedFile);
    }
}

我们通过更改引导过程找到了一种方法:

    $composerAutoloader=require('vendor/autoload.php');
    $composerAutoloader->unregister();
    $ourAutoloader=new OurAutoloader($composerAutoloader);
    $ourAutoloader->register();

但是我们正在寻找一种方法来从我们正在开发的包中激活这种链接机制。也就是说,运行composer require our/component应该启用加载器代理链,而不需要修改主项目引导程序。那么,有没有办法通过composer.json插件来达到这种效果?

标签: phpcomposer-php

解决方案


推荐阅读