php8-style constuctors

This commit is contained in:
2020-12-30 14:10:44 +07:00
parent f7cafcb397
commit f596ef031a
4 changed files with 11 additions and 19 deletions

View File

@@ -6,8 +6,8 @@ $jokeGuzzle = new \GuzzleHttp\Client([
'base_uri' => 'https://v2.jokeapi.dev', 'base_uri' => 'https://v2.jokeapi.dev',
]); ]);
$jokeService = new \App\Service\JokeService($jokeGuzzle);
$cache = new \Sarahman\SimpleCache\FileSystemCache(__DIR__ . '/tmp/cache'); $cache = new \Sarahman\SimpleCache\FileSystemCache(__DIR__ . '/tmp/cache');
$jokeService = new \App\Service\JokeService($jokeGuzzle);
$jokeOperation = new \App\Operation\JokeOperation($jokeService, $cache); $jokeOperation = new \App\Operation\JokeOperation($jokeService, $cache);
$app = new \Ahc\Cli\Application('Joke App', 'v0.0.1'); $app = new \Ahc\Cli\Application('Joke App', 'v0.0.1');

View File

@@ -8,13 +8,10 @@ use App\Operation\JokeOperation;
class JokeCommand extends \Ahc\Cli\Input\Command class JokeCommand extends \Ahc\Cli\Input\Command
{ {
private JokeOperation $jokeOperation; public function __construct(
private JokeOperation $jokeOperation
public function __construct(JokeOperation $jokeOperation) ) {
{
parent::__construct('joke', 'Get some joke'); parent::__construct('joke', 'Get some joke');
$this->jokeOperation = $jokeOperation;
} }
public function execute(): void public function execute(): void

View File

@@ -10,13 +10,10 @@ use Psr\SimpleCache\CacheInterface;
class JokeOperation class JokeOperation
{ {
protected JokeInterface $jokeService; public function __construct(
protected CacheInterface $cache; protected JokeInterface $jokeService,
protected CacheInterface $cache
public function __construct(JokeInterface $jokeService, CacheInterface $cache) ) {
{
$this->jokeService = $jokeService;
$this->cache = $cache;
} }
public function getRandomJoke(): string public function getRandomJoke(): string

View File

@@ -12,11 +12,9 @@ use Psr\Http\Message\ResponseInterface;
*/ */
class JokeService implements JokeInterface class JokeService implements JokeInterface
{ {
protected \GuzzleHttp\Client $guzzleClient; public function __construct(
protected \GuzzleHttp\Client $guzzleClient
public function __construct(\GuzzleHttp\Client $guzzleClient) ) {
{
$this->guzzleClient = $guzzleClient;
} }
#[CachedJokes] #[CachedJokes]