Попытка заставить мой контроллер Symfony2 сделать запрос к поддерживаемому API. Необходимо сохранить файл cookie, полученный при первом запросе API, чтобы использовать его во втором запросе.
Вот мой код контроллера:
use Guzzle\Http\Client;
use Guzzle\Plugin\Cookie\CookiePlugin;
use Guzzle\Plugin\Cookie\CookieJar\ArrayCookieJar;
class DefaultController extends Controller
{
public function verifyurlActionOK(Request $request)
{
$cookiePlugin = new CookiePlugin(new ArrayCookieJar());
$client = new Client();
$this->get('session')->set('client', $client);
$client->addSubscriber($cookiePlugin);
$request = $client->get('https://address/scanit?url='.$scantarget);
$response = $request->send();
}
public function progressAction(Request $request)
{
$cli = $session->get('client');
$crequest = $cli->get('https://address/progress');
$response = $crequest->send();
return $this->render('AppBundle:Default:progress.html.twig',
array(
'response' => $cresponse->getBody()));
}
}
Пытался установить Client как общедоступную переменную в классе DefaultController и, как указано выше, в сеансе (сериализованном). Оба не работают, здесь появляется ошибка get() в progressAction
[2016-11-29 16:22:46] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Debug\Exception\FatalErrorException: "Error: Call to a member function get() on a non-object"
Как получить доступ к $client из verifyurlActionOK в progressAction??
Спасибо,
$session
не инициализирована в методеprogressAction
- person Matteo   schedule 30.11.2016