Laravel 4、Composer 和 Hybridauth - 如何加载其他提供程序

2023-12-27

我正在使用 Laravel 4,并通过 Composer 加载了 Hybridauth,并使其在 Facebook 和 Twitter 上运行得很好。现在我试图让它与 Steam 一起使用,它被列为附加提供商,但我不断收到以下错误:

require_once(vendor/hybridauth/hybridauth/hybridauth/Hybrid/Providers/Steam.php) [function.require-once]: 无法打开流: 没有这样的文件或目录

显然它找错了地方,实际的类位于这个位置:

供应商/hybridauth/hybridauth/additional-providers/hybridauth-steam/Providers/Steam.php

我能找到的关于这方面的文档非常少,我唯一的猜测是,hybridauth 的作者只提供这些额外的提供程序作为可选的额外内容,并希望您将类的位置移动到正确的位置,但是对于 Composer 来说,这不是做事的方式,每当我运行作曲家更新时都会出现问题。

我通过谷歌找不到任何人有类似的问题,这看起来很奇怪,所以我担心我错过了明显的问题。在将 HybridAuth 与 Composer 一起使用时,有没有办法使用其他提供程序,让它们自动加载?

我能想到的唯一解决方案是在尝试自动加载之前手动包含正确的文件。我不介意这样做,但我假设必须有一种正确的方法来做到这一点,否则使用 Composer 和 Hybridauth 是相当无用的。


我在使用 Instagram 时遇到了这个问题,并且能够使用包装器语法,该语法记录在此处http://hybridauth.sourceforge.net/userguide/tuts/special-provider-wrapper.html http://hybridauth.sourceforge.net/userguide/tuts/specific-provider-wrapper.html

下面的代码让 Instagram 适配器为我工作。

           "Instagram" => array ( 
                "enabled" => true,
                "keys"    => array ( 
                    "id" => xxxx, 
                    "secret" => xxxx,
                ),
                "wrapper" => array(
                    'class'=>'Hybrid_Providers_Instagram',
                    'path' => $_SERVER['DOCUMENT_ROOT'].'/../vendor/hybridauth/hybridauth/additional-providers/hybridauth-instagram/Providers/Instagram.php'
                )
            ),

如果您阅读 Hybridauth/Hybrid/Provider_Adapter.php 第 69 行的源代码,您将看到它在使用标准路径执行 require_once 之前对此进行检查。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 4、Composer 和 Hybridauth - 如何加载其他提供程序 的相关文章

随机推荐