Goutte に問題があるか、実際には Goutte の Guzzle 部分です。
Guzzle はすべての GET 呼び出しを自動的にキャッシュします。無効にしようとしましたが、実際には機能しません。
ここでわかるように、キャッシュ パラメーターを直接 Guzzle コンストラクターに解析しています。
use Goutte\Client;
use Guzzle\Http\Client as GuzzleClient;
$client = new Client();
$client->setClient(new GuzzleClient('/', array(
'curl.options' => array(
CURLOPT_COOKIESESSION => true,
CURLOPT_COOKIEJAR => 'cookie.txt',
CURLOPT_FRESH_CONNECT => true,
CURLOPT_TIMEOUT => 0
),
'params.cache.override_ttl' => 0,
'params.cache.default_ttl' => 0,
'params.cache.revalidate' => 'always'
)));
ただし、これは変更を加えません。cacheplugin のドキュメントの時点で (参照: http://guzzlephp.org/guide/http/caching.html )
このコード:
echo $client->getClient()->get('/')->getParams()->get('cache.override_ttl');
cache.override_ttl の現在の値を出力する必要がありますが、これは何も出力しません。
私が見落としているのは、Goutteラッパーに関するものに違いないと思います。誰にもアイデアはありますか?