所以 – 我的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文件)?
有三个自动加载相关文件,每个文件都有不同的用途.
> 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应该允许您使用安装的库,并通过提供您需要的所有加载来实现.
原文地址:https://www.jb51.cc/php/134199.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。