MODIFICA: Ho creato un GremoBuzzBundle per il browser Buzz. È simile a SensioBuzzBundle ma ha alcune buone opzioni di configurazione.
Vorrei suggerire di utilizzare Buzz browser e l'iniezione delle dipendenze. Buzz è un wrapper su cURL o file_get_contents. Modifica i tuoi deps
di file aggiungendo queste righe:
[Buzz]
git=https://github.com/kriswallsmith/Buzz.git
target=/buzz
Quindi installare fornitori per scaricare in realtà la libreria:
php bin/vendors install
Quindi aggiungere due servizi (src/YourCompany/YourBundle/Resources/config/services.yml
):
# cURL client for Buzz
buzz.client.curl:
class: Buzz\Client\Curl
public: false
calls:
- [setVerifyPeer, [false]]
# Buzz browser
buzz.browser:
class: Buzz\Browser
arguments: ['@buzz.client.curl']
La prima il servizio è client (preferisco cURL su file_get_contents), quest'ultimo è il browser stesso.L'ultimo passo è quello di aggiungere una riga di codice nel caricatore automatico (app/autoload.php
):
$loader->registerNamespaces(array(
'Buzz' => __DIR__.'/../vendor/buzz/lib',
));
allora si può ottenere il servizio e l'utente del browser nel controller codice:
$browser = $this->get('buzz.browser');
$response = $browser->get('http://www.google.com');
Quale dipendenza dovrei modificare? È il routing.yml o qualcos'altro? Sono un po 'perso qui:/ Grazie comunque per la risposta, è davvero d'aiuto! –
@GabrielTheron prima il file 'deps', quindi' src/Company/YourBundle/Resources/config/services.yml' (per i servizi) e 'app/autoload.php'. – gremo
Viene visualizzato un errore quando sto provando a caricare la pagina. Dice "Non c'è un'estensione in grado di caricare la configurazione per" buzz.client.curl "" e "Cerca spazio dei nomi" buzz.client.curl ", non trovato nessuno". Qualche idea da dove viene? –