2017-10-23 2 views
0

Dies ist meine MethodeWarum Objekt der Klasse GuzzleHttp Client konnte nicht in eine Zeichenfolge konvertiert werden?

class MyClass 
{ 
    protected client; 
    public function setCl($clientArg) 
    { 
    // check for invalid argument type - client has to be a guzzle client 
    if ($clientArg.get_class() != $this->client.get_class() || 
     !($clientArg instanceof GuzzleHttp\Client)) 
     throw new InvalidArgumentException("Argument type must be of Guzzle client"); 

    $this->client = $clientArg; 
    } 
} 

Der Test dieser Methode als solche aufgerufen hat:

class TestClass extends \PHPUnit_Framework_TestCase 
{ 
    protected $myClass 
    public function testSetCl() { 
    $cl = new Client(); 
    $res = $this->myClass->setCl($cl); // why does a setter need to return something? 

    $this->assertInstanceOf(Client::class, $res); 
    } 
} 

Der Fehler im Titel geschrieben ist, was ich bekommen, wenn ich den Test ausführen. Warum?

Antwort

0

Grund dies geschah ist die Zeile:

$clientArg.get_class() != $this->client.get_class() 

In PHP, die. ist eine Verkettung, daher bei Änderung zu:

$clientArg->get_class() != $this->client->get_class() 

Das funktioniert.

Verwandte Themen