2016-05-10 10 views
0

in Symfony2 fand ich in GuzzleHttp vonGuzzleHttp Client-Klasse nicht

geladen haben

http://docs.guzzlephp.org/en/5.3/quickstart.html

und haben die

use GuzzleHttp\Client; 

Wenn ich diese Aktion nennen ...

public function googlevolumeAction(Request $request) 
{ 
    $data = $request->request->all(); 
    $searchStr = $data['search']; 

     $client = new Client(); 
     $req = $client->request('GET', 'https://www.googleapis.com/books/v1/volumes?q=intitle:' .$searchStr, []); 
     $decode = json_decode($req->getBody()); 
     $total = $decode->totalItems; 
     $search = null; 

     if ($total != 0) { 
      $search = $decode->items; 
     } 

     return $this->render('BloggerBlogBundle:Page:googlevolume.html.twig', 
      ['items' => $search]); 
} 

Ich bekomme diesen Fehler ...

Attempted to load class "Client" from namespace "GuzzleHttp". 
Did you forget a "use" statement for e.g. "Guzzle\Http\Client",  
"Guzzle\Service\Client", "Symfony\Component\BrowserKit\Client", 
"Symfony\Component\HttpKernel\Client" or 
"Symfony\Bundle\FrameworkBundle\Client"? 

Irgendwelche Ideen warum?

dank

+0

Wie haben Sie es in Ihrer Anwendung installiert? – zerkms

+0

Yep in composer.json Ich habe "require" "guzzehlhttp/guzzle": "^ 3.8" und habe es aktualisiert und es in der Vender-Ordner – CarlRyds

+1

Ich denke, Sie können eine ältere Version von guzzle installiert haben. Ich habe "guzzehlhttp/guzzle": "^ 6.2" Vielleicht überprüfen Sie die Client-Klasse unter Anbieter, um seinen Namespace zu sehen. In früheren Versionen war das anders. Und ignorieren Sie den Kommentar über die Verwendung von \ Guzzle ... Keine Notwendigkeit für einen führenden Schrägstrich. Und ja, Frust 3.x ist sehr alt. Wenn Sie es verwenden müssen, folgen Sie den entsprechenden Dokumenten. – Cerad

Antwort

2

Sieht aus wie Sie als die docs eine andere Version von verputzen installiert haben bei Ihnen suchen. Von der Fehlermeldung, die Sie erhalten haben, scheint es, dass, wenn Sie Ihre Verwendung Anweisung zu ändern:

use Guzzle\Http\Client; 

Es sollte funktionieren.

Verwandte Themen