2015-06-12 2 views
0

Создаю класс Client, реализующий интерфейс. Мне нужен клиент Guzzle как аргумент конструктора, но я не могу этого сделать.Принимает клиент 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

Класс вашего клиента имеет свойство клиента, которое должно быть инициализировано в конструкторе, а не в его объявлении.

Кроме того, я не вижу, откуда приходит ваш 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 = new \GuzzleHttp\Client(); 
$myClient = new Client($guzzle); // this is an instance of your class 
+0

http://stackoverflow.com/questions/30831796/guzzlehttp-psr7-standart –

Смежные вопросы