首页 > 解决方案 > 如何在 Composer autoload_static.php 中禁用“始终包含”类

问题描述

autoload_static.php 中的 Composer 使用我在每个应用程序请求中都不需要它们的类。

'd5fa61a7f6cbc1df09dd4df84549a2dc' => __DIR__ . '/..' . '/rospdf/pdf-php/src/Cpdf.php',
'2d15964294879de66053d54f6bde65d7' => __DIR__ . '/..' . '/rospdf/pdf-php/src/Cezpdf.php',

如何从这个自动加载文件中删除它们?我可以手动删除/评论它们,但每次 Composer 更新此文件都会重新生成。

我尝试在我的主要 composer.json 中添加: “exclude-from-classmap”:[“vendor/rospdf/pdf-php/src/”] 并运行composer dump-autoload bo 那些类仍然在那里。

标签: phpcomposer-phpautoload

解决方案


你可以欺骗作曲家的自动加载器,让他认为那些已经加载:

<?php

// Setting global variable:
$GLOBALS["__composer_autoload_files"] = [
    "d5fa61a7f6cbc1df09dd4df84549a2dc" => true,
    "2d15964294879de66053d54f6bde65d7" => true,
];

require "vendor/autoload.php";

但这需要在包含之前vendor/autoload.php发生。


推荐阅读