0

CURL オプションを設定CURLOPT_TCP_NODELAYしたいのですが、Sf2 の Service Container を使ってどうすればいいのかわからないのが難点です。

Guzzle現在注入されている方法は次のとおりです。

services:
    user.user_manager:
        class: Foo\UserBundle\Model\UserManager
        arguments:
            - @guzzle.client

しかし、私も追加する必要がありCURLOPT_TCP_NODELAYます。

プレーンな PHP の例:

$guzzle = new \Guzzle\Http\Client(null, array(
    'curl.options' => array(
        'CURLOPT_TCP_NODELAY' => 1
)));
4

1 に答える 1

5

カスタム Guzzle クライアントを作成し、それをサービスとして宣言できます。

<?php

namespace You\ProjectBundle\Guzzle;

class MyGuzzleClient extends \Guzzle\Http\Client
{
    public function __construct()
    {
        parent::__construct(null, array(
            'curl.options' => array('CURLOPT_TCP_NODELAY' => 1)
        ));
    }
}

次に、それをサービスとして宣言します。

services:
    my_guzzle.client:
        class: You\ProjectBundle\Guzzle\MyGuzzleClient

最後に、次のように使用します。

services:
    user.user_manager:
        class: Foo\UserBundle\Model\UserManager
        arguments:
            - @my_guzzle.client
于 2014-06-05T09:13:59.847 に答える