Je convertis un projet php pour utiliser composer comme gestionnaire de dépendances.Hybridauth + composer: comment ajouter des fournisseurs personnalisés
Les dépendances sont chargées via cette ligne dans mon script principal.
require 'vendor/autoload.php';
L'une de ces dépendances est hybridauth (version 2.9). Depuis l'utilisation de Composer, il génère des erreurs 'fichier non trouvé' lors de la recherche de fichiers fournisseurs personnalisés.
Par exemple, mon contrôleur principal appelle comme hybride ceci:
$config_file_path = dirname(__FILE__) .'/hybridauth/config.php';
$hybridauth = new Hybrid_Auth($config_file_path);
Maintenant, voici le fichier de configuration. Le fournisseur que j'utilise est "Facebooktest". Notez que j'ai dû spécifier le chemin via le [wrapper] [chemin]; tableau pour arriver au prochain message d'erreur.
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" => "",
);
Le message d'erreur (avec trace):
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()
Je trouve étrange que j'ai besoin maintenant de modifier les chemins à l'intérieur du projet "fournisseur/hybridauth /". Cela va à l'encontre du but de l'utilisation d'un gestionnaire de dépendances. Je dois sûrement me tromper. Pouvez-vous conseiller?