gpt4 book ai didi

php - 在 composer 中跳过自动加载文件生成?

转载 作者:可可西里 更新时间:2023-11-01 12:55:50 24 4
gpt4 key购买 nike

所以 - 我的 bootstrap.php 中有一个简单的 PCR0 自动加载器,它应该从 vendors 目录加载任何 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 );
}
});

我不确定我是否理解为什么composer会在vendors目录(即composer目录和autoload.php中生成自动加载文件文件)?

我可以阻止 Composer 生成那些自动加载程序文件吗?还是我错过了什么?我认为我不需要它们?

最佳答案

共有三个与自动加载相关的文件,每个都有不同的用途。

  • vendor/autoload.php 初始化 composer 的自动加载器。 Composer 提供了一个自动加载器来加载与 Composer 兼容的库。
  • vendor/composer/autoload_classmap.php 这个文件被类图自动加载器使用,它用于甚至不兼容 PSR-0 的库,或者生产环境(类图比通过文件系统查找更快)。
  • vendor/composer/autoload_namespaces.php 这是composer自带的PSR- 0 auto 加载配置

现在您提到您有自己的 PSR-0 类加载器,您不应该将其用于 composer 依赖项 - 您应该简单地要求/包含 vendor/autoload.php 并让 composer 处理其余部分。

这就是为什么没有选项可以禁用自动加载文件的生成。最后,composer 应该使您能够使用安装的库,并通过提供您需要的所有加载来使您能够。

关于php - 在 composer 中跳过自动加载文件生成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13449666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com