2013-09-03 11 views
7

Używam Laravel 4 i ładowałem hybridauth przez kompozytora i sprawiłem, że działa dobrze z Facebookiem i Twitterem. Teraz staram się dostać to pracy ze Steam, który jest wymieniony jako dodatkowy dostawcy, jednak wciąż otrzymuję następujący błąd:Laravel 4, Composer and hybridauth - Jak załadować dodatkowych dostawców

require_once(vendor/hybridauth/hybridauth/hybridauth/Hybrid/Providers/Steam.php) [function.require-once]: failed to open stream: No such file or directory

Wyraźnie to patrząc w niewłaściwym miejscu, rzeczywista klasa rezyduje w tej lokalizacji :

vendor/hybridauth/hybridauth/additional-providers/hybridauth-steam/Providers/Steam.php

jest bardzo mało dokumentacji, że znajdę na to, mój tylko przypuszczenie, że autor hybridauth oferowana tylko tych dodatkowych dostawców jako opcjonalne dodatki i oczekuje cię przenieść lokalizację klasy na właściwym miejscu jednak z kompozytorem nie jest to sposób na robienie rzeczy i powoduje problemy, gdy tylko uruchomię aktualizację kompozytora.

Nie mogę znaleźć nikogo, kto ma podobny problem za pośrednictwem Google, co wydaje się dziwne, więc obawiam się, że brakuje mi oczywiste. Czy istnieje możliwość skorzystania z dodatkowych dostawców, aby automatycznie je stosować podczas korzystania z hybridauth z Composer?

Jedyne rozwiązanie, jakie mogę zrobić, to ręczne włączenie poprawnego pliku przed próbą automatycznego ładowania. Nie mam nic przeciwko temu, ale zakładam, że musi to być właściwy sposób, w przeciwnym razie użycie Composer z Hybridauth jest dość bezużyteczne.

+0

Wyraźnie coś jest nie tak z biblioteką. – Michelle

Odpowiedz

-1

Szukałem i szukałem również tego. Wszystko, o czym mogę pomyśleć, to to, że został stworzony do użytku bez frameworków, a następnie został przeniesiony do użycia z Composer, jednak folder "dodatkowych dostawców" nie został załadowany, lub coś. To trochę jest do bani.

Właśnie skopiowałem plik do innego katalogu i wszystko działa teraz.

Może to być przydatne dla Ciebie ...

http://blog.elliothesp.co.uk/coding/laravel-4-and-hybrid-auth/

części dotyczącej tego:

Copy the Steam.php file, located at: 
laravel/vendor/hybridauth/hybridauth/additional-providers/hybridauth-steam/Providers/Steam.php 

Over to: 

laravel/vendor/hybridauth/hybridauth/hybridauth/Hybrid/Providers/ 

Nie mam pojęcia, dlaczego biblioteka im rozdzielone, nie ma żadnego sensu Dla mnie.

+0

Pozdrowienia, czy spowoduje to problem z aktualizacją kompozytora? – robjbrain

+0

Nie, nie miałem żadnych problemów. Chociaż domyślam się, że jeśli plik Steam.php został zaktualizowany, nie zostałby zaktualizowany w projekcie, musiałbyś zrobić to samo jeszcze raz. Próbowałem skontaktować się z programistą, ale nigdy nic nie odzyskałem. – Alias

4

miałem ten problem z Instagram i był w stanie użyć składni otoki, który jest udokumentowany tutaj http://hybridauth.sourceforge.net/userguide/tuts/specific-provider-wrapper.html

Kod poniżej dostał zasilacz Instagram pracuje dla mnie.

  "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' 
       ) 
      ), 

Jeśli czytasz źródło w hybridauth/hybrydowy/Provider_Adapter.php linii 69, zobaczysz to sprawdza to przed wykonaniem require_once ze standardową ścieżką.