将Guzzle的客户端作为构造函数参数

时间:2015-06-12 22:10:44

标签: php guzzle

我创建了一个实现接口的Client类。我需要把Guzzle的客户端作为构造函数参数,但我不能这样做。

<?php

namespace Payum\Core\Bridge\Psr\Http;

use GuzzleHttp\Client;
use Psr\Http\Message\ResponseInterface;

class Client implements ClientInterface
{
    $client = new \GuzzleHttp\Client(); // there is error 'Unexpected'

    public function  __construct($client)
    {

    }
    public function responeInterface()
    {

    }
}

1 个答案:

答案 0 :(得分:1)

您的Client类有一个客户端属性需要在构造函数中初始化,而不是在其声明中。

此外,我看不到您的ClientInterface来自哪里?你应该有一个导入界面???的使用声明吗?

如果此代码有帮助,请告诉我

<?php

namespace Payum\Core\Bridge\Psr\Http;

use GuzzleHttp\Client;
use Psr\Http\Message\ResponseInterface;

class Client implements ClientInterface
    {
        $client; 

    public function  __construct(Client $client)
    {
        $this->client = $client;
    }
    public function responeInterface()
    {

    }
}

然后,您需要通过将Guzzle的实例传递给构造函数来实例化您的客户端类。即。

$guzzle = new \GuzzleHttp\Client();
$myClient = new Client($guzzle); // this is an instance of your class