最近Silex始めました。
まずは外部のWebServerにリクエストを投げる方法です。軽量なWebClientであるBuzzを使います。gitでBuzz本体とProviderをダウンロードします。
$ cd vendor/ $ git clone https://github.com/kriswallsmith/Buzz.git Buzz $ cd Buzz/ $ git checkout v0.5 $ git submodule update --init $ cd .. $ git clone https://github.com/marcw/silex-buzz-extension.git silex-buzz-extension
src/bootstrap.phpに追加します。
$app['autoloader']->registerNamespace('MarcW', __DIR__ . '/../vendor/silex-buzz-extension/lib');
$app->register(new MarcW\Silex\Provider\BuzzServiceProvider(), array(
'buzz.options' => array(
),
'buzz.class_path' => __DIR__ . '/../vendor/Buzz/lib',
));
これで準備完了です。あとはアプリケーションから
$app['buzz']->getClient()->setTimeout(30);
$response = $app['buzz']->get('http://www.google.co.jp');
echo $app['buzz']->getLastRequest()."\n";
echo $response;
として呼び出すことができます。Buzzのデフォルトのタイムアウトが5秒で、早すぎたので30秒に変更しておきました。

HOMMA Teppei

