所以 - 我的bootstrap.php中有一个简单的PCR0自动加载器,它应该从供应商目录中加载任何与PCR0兼容的库类...
spl_autoload_register( function( $classname ) {
$path = preg_match( '/\\\\/', $classname )
? str_replace( '\\', DIRECTORY_SEPARATOR, $classname )
: str_replace( '_', DIRECTORY_SEPARATOR, $classname );
$file = VENDORS_PATH . DIRECTORY_SEPARATOR . $path . '.php';
if ( file_exists( $file ) ) {
require_once( $file );
}
});
Run Code Online (Sandbox Code Playgroud)
我不确定我是否理解为什么composer会在供应商目录中生成自动加载文件(即composer目录和autoload.php文件)?
我可以阻止Composer生成这些自动加载器文件吗?还是我错过了什么?我不认为我需要它们?
共有三个与自动加载相关的文件,每个文件都有不同的用途。
现在您提到您有自己的 PSR-0 类加载器,您不应该将其用于 Composer 依赖项 - 您只需要求/包含供应商/autoload.php 并让 Composer 处理其余的事情。
这就是为什么没有选项来禁用自动加载文件的生成。最后,作曲家应该使您能够使用已安装的库,并通过提供您需要的所有加载来使您能够使用。