我正在轉換一個php項目以使用作曲者作爲依賴項管理器。Hybridauth +作曲家:如何添加自定義提供者
依賴關係在我的主腳本中通過這條線加載。
require 'vendor/autoload.php';
其中一個相關性是hybridauth(2.9版本)。由於使用Composer,它在查找自定義提供程序文件時會引發「文件未找到」錯誤。
例如,我的主控制器調用混合是這樣的:
$config_file_path = dirname(__FILE__) .'/hybridauth/config.php';
$hybridauth = new Hybrid_Auth($config_file_path);
現在,這裏是配置文件。我使用的提供商是「Facebooktest」。 請注意,我必須通過[包裝] [路徑]指定路徑;數組鍵以獲得下一個錯誤消息。
return
array(
"base_url" => WWWROOT."/auth",
"providers" => array(
"Facebook" => array(
"enabled" => true,
"keys" => array("id" => "xxxxxxx", "secret" => "xxxxxxxx"),
"scope" => "email",
"trustForwarded" => false
),
"Facebooktest" => array(
"enabled" => true,
"keys" => array("id" => "xxxxxxx", "secret" => "xxxxxx"),
"scope" => "email",
"trustForwarded" => false,
"wrapper"=> array(
"class"=>'Hybrid_Providers_Facebooktest',
"path"=> './controllers/hybridauth/Hybrid/Providers/Facebooktest.php'
)
)
),
"debug_mode" => false,
"debug_file" => "",
);
錯誤消息(與跟蹤):
require_once(/path/to/composer-project/vendor/hybridauth/hybridauth/hybridauth/Hybrid/thirdparty/Facebook/autoload.php): failed to open stream: No such file or directory
[vendor/bcosca/fatfree/lib/base.php:2174] Base->error()
[controllers/hybridauth/Hybrid/Providers/Facebooktest.php:61] Base->{closure}()
[controllers/hybridauth/Hybrid/Providers/Facebooktest.php:61] require_once()
[vendor/hybridauth/hybridauth/hybridauth/Hybrid/Provider_Model.php:99] Hybrid_Providers_Facebooktest->initialize()
[vendor/hybridauth/hybridauth/hybridauth/Hybrid/Provider_Adapter.php:101] Hybrid_Provider_Model->__construct()
[vendor/hybridauth/hybridauth/hybridauth/Hybrid/Auth.php:278] Hybrid_Provider_Adapter->factory()
[vendor/hybridauth/hybridauth/hybridauth/Hybrid/Auth.php:230] Hybrid_Auth::setup()
[controllers/auth-action.get.php:19] Hybrid_Auth::authenticate()
我覺得很奇怪,我現在需要修改 「供應商/ hybridauth /」 項目中的路徑。它違背了使用依賴管理器的目的。當然,我一定是做錯了。 你能提供意見嗎?