Skip to content

Instantly share code, notes, and snippets.

@blar
Created October 29, 2019 23:09
Show Gist options
  • Save blar/5a1e85281534800b3dc34c2293401cf4 to your computer and use it in GitHub Desktop.
Save blar/5a1e85281534800b3dc34c2293401cf4 to your computer and use it in GitHub Desktop.
<?php
class Request {
}
class Response {
public $body = '';
public function setBody(string $body): self {
$this->body = $body;
return $this;
/*
$clone = clone $this;
$clone->body = $body;
return $clone;
*/
}
}
class Client {
public function sendRequest(Request $request): Response {
$response = new Response();
return $this->responses[] = $response;
}
public function execute() {
foreach($this->responses as $response) {
$response = $response->setBody((string) random_int(23, 42));
}
}
}
$client = new Client();
$request = new Request();
$response1 = $client->sendRequest($request);
$request = new Request();
$response2 = $client->sendRequest($request);
$client->execute();
var_dump($response1, $response2);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment