我需要设置CURLOPT_TCP_NODELAY
CURL选项,但问题是我不知道如何使用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
)));
答案 0 :(得分: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