加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 在作曲家中跳过自动加载文件生成?

发布时间:2020-12-13 17:58:51 所属栏目:PHP教程 来源:网络整理
导读:所以 – 我的bootstrap.php中有一个简单的PCR0自动加载器,应该从供应商目录中加载任何与PCR0兼容的库类… spl_autoload_register( function( $classname ) { $path = preg_match( '/\/',$classname ) ? str_replace( '',DIRECTORY_SEPARATOR,$classname
所以 – 我的bootstrap.php中有一个简单的PCR0自动加载器,应该从供应商目录中加载任何与PCR0兼容的库类…
spl_autoload_register( function( $classname ) {
    $path = preg_match( '/\/',$classname )
    ? str_replace( '',DIRECTORY_SEPARATOR,$classname )
    : str_replace( '_',$classname );
    $file = VENDORS_PATH . DIRECTORY_SEPARATOR  . $path . '.php';
    if ( file_exists( $file ) ) {
        require_once( $file );
    }
});

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

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

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

> vendor / autoload.php初始化composer的自动加载器. Composer提供了一个自动加载器,可以加载与composer兼容的库.
> vendor / composer / autoload_classmap.php这个文件由classmap autoloader使用,这适用于甚至不兼容PSR-0的库或生产环境(classmap比通过文件系统查找更快).
> vendor / composer / autoload_namespaces.php这是作曲家自带的PSR-0自动加载的配置

现在你提到你有自己的PSR-0类加载器,你不应该将它用于作曲家依赖 – 你应该只需要/包括vendor / autoload.php并让作曲家处理剩下的事情.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读